Zainicjujmy nowy projekt.
$mkdirprojekt
$Płyta CDprojekt
$git init
Zainicjowano puste repozytorium Gitw /Użytkownicy/zakh_eecs/_Praca/Dowiedz GIT/git_add/projekt/.wybrać się/
$wyrzucił 'Nowy projekt' >ReadMe.txt
$git dodajReadMe.txt
$git commit -m „Początkowe zobowiązanie”
[gospodarz(root-commit)47b9af1]Wstępne zobowiązanie
1 plikzmieniony,1wprowadzenie(+)
tryb tworzenia100644ReadMe.txt
W tym projekcie dodaliśmy plik ReadMe.txt. Użyliśmy polecenia git add, aby dodać plik ReadMe.txt. Polecenie add służy nie tylko do dodawania plików. Dodaje również dowolną modyfikację pliku. W tym samouczku dodamy i usuniemy tylko pliki, aby było to proste. Ale pomyśl o poleceniu add jak o dodawaniu zmian do obszaru pomostowego. Następnie musisz użyć polecenia commit, aby zmiany były oficjalne.
Kiedy masz do czynienia z wieloma plikami i folderami, trudno jest indywidualnie dodawać każdą zmianę. Możesz więc użyć następujących poleceń:
$git dodaj.
$git dodaj -DO
Przyjrzyjmy się, jak zachowują się te dwa polecenia:
$ dotknij a.txt b.txt c.txt
$git dodaj.
$ status git
Na mistrzu oddziału
Zmiany do zatwierdzenia:
(użyj 'git reset HEAD ...', aby usunąć ze sceny)
nowy plik: a.txt
nowy plik: b.txt
nowy plik: c.txt
$ git commit -m 'Dodaj a.txt, b.txt, c.txt'
[master 9ca90fc] Dodaj a.txt, b.txt, c.txt
Zmieniono 3 pliki, 0 wstawień (+), 0 usunięć (-)
utwórz tryb 100644 a.txt
utwórz tryb 100644 b.txt
Utwórz tryb 100644 c.txt $dotykaćx.txt y.txt z.txt
$git dodaj -DO
$status git
Na mistrzu oddziału
Zmiany do zatwierdzenia:
(posługiwać się'git reset HEAD...'wystawić na scenę)
nowy plik: x.txt
nowy plik: y.txt
nowy plik: z.txt
$git commit -m „Dodaj x.txt, y.txt, z.txt”
[mistrz 8af8c12]Dodaj x.txt, y.txt, z.txt
3pliki zmienione,0wstawki(+),0skreślenia(-)
tryb tworzenia100644x.txt
tryb tworzenia100644y.txt
tryb tworzenia100644z.txt
Obie opcje wydają się działać tak samo.
Aby zbadać dalej, stwórzmy sytuację, w której dodamy coś na poziomie głównym katalogu roboczego, a następnie dodamy więcej plików w folderze:
$dotykać 1.tekst
$mkdirNowy
$Płyta CDNowy
$dotykaćm.txt n.txt o.txt
$git dodaj.
$status git
Na mistrzu oddziału
Zmiany do zatwierdzenia:
(posługiwać się'git reset HEAD...'wystawić na scenę)
nowy plik: m.txt
nowy plik: n.txt
nowy plik: o.txt
Nieśledzone pliki:
(posługiwać się'git dodaj...'aby zawierałowco zostanie popełnione?)
.../1.tekst
Zauważ, że Git nie dodał pliku 1.txt w folderze wyższego poziomu.
Jeśli stworzyliśmy folder o nazwie nested z plikiem d.txt i użyjemy git add. ponownie, widzimy, że o.txt został dodany, ale 1.txt nie został jeszcze dodany.
$mkdirzagnieżdżone$dotykaćzagnieżdżone/d.txt
$git dodaj.
$status git
Na mistrzu oddziału
Zmiany do zatwierdzenia:
(posługiwać się'git reset HEAD...'wystawić na scenę)
nowy plik: m.txt
nowy plik: n.txt
nowy plik: zagnieżdżony/d.txt
nowy plik: o.txt
Nieśledzone pliki:
(posługiwać się'git dodaj...'aby zawierałowco zostanie popełnione?)
.../1.tekst
Teraz użyjmy polecenia git add -A:
$git dodaj -DO$status git
Na mistrzu oddziału
Zmiany do zatwierdzenia:
(posługiwać się'git reset HEAD...'wystawić na scenę)
nowy plik: ../1.tekst
nowy plik: m.txt
nowy plik: n.txt
nowy plik: zagnieżdżony/d.txt
nowy plik: o.txt
Teraz 1.txt w folderze został dodany do obszaru przemieszczania.
Oto jak wyglądają foldery
|--1.txt
|--Przeczytaj.txt
|--a.txt
|--b.txt
|--c.txt
|--x.txt
|--y.txt
|--z.txt
`-- nowy
|--m.txt
|--n.txt
|--o.txt
`-- zagnieżdżone
|--d.txt
Tak więc, gdy używasz git add . polecenie, doda wszystkie zmiany z tego poziomu. Ale gdy użyjesz opcji git add -A, będzie szukał modyfikacji w całym module i doda je.
Wniosek
Polecenie Git add zapewnia potężne sposoby dodawania zmodyfikowanych plików. Możesz użyć naturalnej hierarchii katalogów kodów, aby kontrolować, co jest dodawane.