Začnimo nov projekt.
$mkdirprojekt
$CDprojekt
$git init
Inicializirano prazno skladišče Gitv /Uporabniki/zakh_eecs/_delo/LearnGIT/git_add/projekt/.go/
$vrgel ven 'Nov projekt' >ReadMe.txt
$git addReadMe.txt
$git commit -m 'Začetna zaveza'
[mojster(root-commit)47b9af1]Začetna zaveza
1 mapaspremenjeno,1vstavljanje(+)
način ustvarjanja100644ReadMe.txt
V ta projekt smo dodali datoteko ReadMe.txt. Za dodajanje datoteke ReadMe.txt smo uporabili ukaz git add. Ukaz add ni samo za dodajanje datotek. Doda tudi kakršno koli spremembo datoteke. Za to vadnico bomo samo dodajali in brisali datoteke, da bo preprosto. Toda pomislite na ukaz add kot dodajanje sprememb v uprizoritveno območje. Nato morate z ukazom commit narediti spremembe uradne.
Ko imate opravka z veliko datotekami in mapami, je vsako spremembo težko dodati posamično. Zato lahko uporabite naslednje ukaze:
$git add.
$git add -TO
Poglejmo, kako se obnašata oba ukaza:
$ dotaknite se a.txt b.txt c.txt
$ git dodaj.
$ git status
Na gospodarju podružnice
Spremembe, ki jih je treba sprejeti:
(uporabite 'git reset HEAD ...' za odstranitev na sceno)
nova datoteka: a.txt
nova datoteka: b.txt
nova datoteka: c.txt
$ git commit -m 'Dodaj a.txt, b.txt, c.txt'
[master 9ca90fc] Dodajte a.txt, b.txt, c.txt
3 datoteke spremenjene, 0 vstavkov (+), 0 izbrisov (-)
ustvarjanje načina 100644 a.txt
Ustvari način 100644 b.txt
način ustvarjanja 100644 c.txt $dotikx.txt y.txt z.txt
$git add -TO
$git status
Na gospodarju podružnice
Spremembe, ki jih je treba sprejeti:
(uporaba'git reset HEAD ...'do razstavljanja)
nova datoteka: x.txt
nova datoteka: y.txt
nova datoteka: z.txt
$git commit -m 'Dodaj x.txt, y.txt, z.txt'
[mojster 8af8c12]Dodajte x.txt, y.txt, z.txt
3datoteke spremenjene,0vstavki(+),0brisanja(-)
način ustvarjanja100644x.txt
način ustvarjanja100644y.txt
način ustvarjanja100644z.txt
Zdi se, da obe možnosti delujeta enako.
Za nadaljnje raziskovanje ustvarimo situacijo, ko nekaj dodamo na korenski ravni delovnega imenika in nato dodamo več datotek v mapo:
$dotik 1.txt
$mkdirnov
$CDnov
$dotikm.txt n.txt o.txt
$git add.
$git status
Na gospodarju podružnice
Spremembe, ki jih je treba sprejeti:
(uporaba'git reset HEAD ...'do razstavljanja)
nova datoteka: m.txt
nova datoteka: n.txt
nova datoteka: o.txt
Datoteke brez sledi:
(uporaba'dodaj ...'vključujevkaj bo zavezano)
../1.txt
Opazite, da Git ni dodal datoteke 1.txt v mapo višje ravni.
Če smo ustvarili mapo z imenom ugnezdeno z datoteko d.txt in uporabili git add. z ukazom spet vidimo, da je bil o.txt dodan, vendar 1.txt še ni dodan.
$mkdirugnezden$dotikugnezden/d.txt
$git add.
$git status
Na gospodarju podružnice
Spremembe, ki jih je treba sprejeti:
(uporaba'git reset HEAD ...'do razstavljanja)
nova datoteka: m.txt
nova datoteka: n.txt
nova datoteka: ugnezdena/d.txt
nova datoteka: o.txt
Datoteke brez sledi:
(uporaba'dodaj ...'vključujevkaj bo zavezano)
../1.txt
Zdaj uporabimo ukaz git add -A:
$git add -TO$git status
Na gospodarju podružnice
Spremembe, ki jih je treba sprejeti:
(uporaba'git reset HEAD ...'do razstavljanja)
nova datoteka: ../1.txt
nova datoteka: m.txt
nova datoteka: n.txt
nova datoteka: ugnezdena/d.txt
nova datoteka: o.txt
Zdaj je 1.txt v mapi dodan v uprizoritveno območje.
Tako izgledajo mape
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`- novo
| --m.txt
| --n.txt
| --o.txt
`- ugnezdeno
| --d.txt
Torej, ko uporabljate git add. ukaz, bo dodal vse spremembe s te ravni. Ko pa uporabite možnost git add -A, bo iskal spremembe v celotnem modulu in jih dodal.
Zaključek
Ukaz Git add ponuja zmogljive načine za dodajanje spremenjenih datotek. Lahko uporabite naravno hierarhijo imenikov za nadzor nad tem, kaj se doda.