Să inițializăm un nou proiect.
$mkdirproiect
$CDproiect
$git init
Depozit Git gol inițializatîn /Utilizatori/zakh_eecs/_muncă/LearnGIT/git_add/proiect/.merge/
$aruncat 'Proiect nou' >ReadMe.txt
$git addReadMe.txt
$git commit -m „Angajament inițial”
[maestru(root-commit)47b9af1]Angajamentul inițial
1 fişierschimbat,1inserție(+)
mod de creare100644ReadMe.txt
În acest proiect, am adăugat un fișier ReadMe.txt. Am folosit comanda git add pentru a adăuga ReadMe.txt. Comanda add nu este doar pentru adăugarea de fișiere. De asemenea, adaugă orice modificare a fișierului. Pentru acest tutorial, vom adăuga și șterge doar fișiere pentru a-l simplifica. Dar gândiți-vă la comanda add ca adăugând modificări la zona de etapă. Apoi, trebuie să utilizați comanda commit pentru a face modificările oficiale.
Când aveți de-a face cu o mulțime de fișiere și foldere, este dificil să adăugați fiecare modificare individuală. Deci, puteți utiliza următoarele comenzi:
$git add.
$git add -LA
Să vedem cum se comportă cele două comenzi:
$ touch a.txt b.txt c.txt
$ git add.
starea $ git
Pe maestrul de ramură
Modificări care trebuie să fie comise:
(utilizați „git reset HEAD ...” pentru a nu-l pune în scenă)
fișier nou: a.txt
fișier nou: b.txt
fișier nou: c.txt
$ git commit -m 'Add a.txt, b.txt, c.txt'
[master 9ca90fc] Adăugați a.txt, b.txt, c.txt
3 fișiere modificate, 0 inserții (+), 0 ștergeri (-)
creați modul 100644 a.txt
creați modul 100644 b.txt
creați modul 100644 c.txt $atingerex.txt y.txt z.txt
$git add -LA
$starea git
Pe maestrul de ramură
Modificări care trebuie să fie comise:
(utilizare„git reset HEAD ...”a instaura)
fișier nou: x.txt
fișier nou: y.txt
fișier nou: z.txt
$git commit -m „Adăugați x.txt, y.txt, z.txt”
[master 8af8c12]Adăugați x.txt, y.txt, z.txt
3fișiere modificate,0inserții(+),0ștergeri(-)
mod de creare100644x.txt
mod de creare100644y.txt
mod de creare100644z.txt
Ambele opțiuni par să funcționeze la fel.
Pentru a investiga în continuare, să creăm o situație în care adăugăm ceva la nivelul rădăcină al directorului de lucru și apoi adăugăm mai multe fișiere într-un folder:
$atingere 1.txt
$mkdirnou
$CDnou
$atingerem.txt n.txt o.txt
$git add.
$starea git
Pe maestrul de ramură
Modificări care trebuie să fie comise:
(utilizare„git reset HEAD ...”a instaura)
fișier nou: m.txt
fișier nou: n.txt
fișier nou: o.txt
Fișiere nerecuperate:
(utilizare„git add ...”a includeînce se va comite)
../1.txt
Observați că Git nu a adăugat fișierul 1.txt în folderul de nivel superior.
Dacă am creat un folder numit imbricat cu fișierul d.txt și vom folosi git add. din nou, vedem că o.txt a fost adăugat, dar 1.txt nu a fost adăugat încă.
$mkdircuibărit$atingerecuibărit/d.txt
$git add.
$starea git
Pe maestrul de ramură
Modificări care trebuie să fie comise:
(utilizare„git reset HEAD ...”a instaura)
fișier nou: m.txt
fișier nou: n.txt
fișier nou: imbricat/d.txt
fișier nou: o.txt
Fișiere nerecuperate:
(utilizare„git add ...”a includeînce se va comite)
../1.txt
Acum să folosim comanda git add -A:
$git add -LA$starea git
Pe maestrul de ramură
Modificări care trebuie să fie comise:
(utilizare„git reset HEAD ...”a instaura)
fișier nou: ../1.txt
fișier nou: m.txt
fișier nou: n.txt
fișier nou: imbricat/d.txt
fișier nou: o.txt
Acum, 1.txt din folder a fost adăugat în zona de etapă.
Iată cum arată folderele
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`- nou
| --m.txt
| --n.txt
| --o.txt
`- cuibărit
| --d.txt
Deci, când utilizați git add. comanda, va adăuga toate modificările de la acel nivel. Dar când utilizați opțiunea git add -A, acesta va căuta modificări în întregul modul și le va adăuga.
Concluzie
Comanda Git add oferă modalități puternice de a adăuga fișiere modificate. Puteți utiliza ierarhia directorului natural al codurilor pentru a controla ce se adaugă.