Lad os initialisere et nyt projekt.
$ mkdir-projekt$ cd-projekt
$ git init
Initialiseret tomt Git-arkiv i / Brugere / zakh_eecs / _work / LearnGIT / git_add / projekt /.git /
$ echo "Nyt projekt"> ReadMe.txt
$ git tilføj ReadMe.txt
$ git commit -m "Initial Commit"
[master (root-commit) 47b9af1] Indledende forpligtelse
1 fil ændret, 1 indsættelse (+)
Opret tilstand 100644 ReadMe.txt
I dette projekt har vi tilføjet en ReadMe.txt-fil. Vi brugte kommandoen "git add" til at tilføje ReadMe.txt. Tilføj kommandoen er ikke kun til tilføjelse af filer. Det tilføjer også enhver filændring. Til denne vejledning tilføjer og sletter vi kun filer for at holde det simpelt. Men tænk på tilføjkommandoen som at tilføje ændringer til iscenesættelsesområdet. Derefter skal du bruge kommandoen commit til at gøre ændringerne officielle.
Når du har at gøre med mange filer og mapper, er det svært at tilføje hver ændring individuelt. Så du kan bruge følgende kommandoer:
$ git tilføj .$ git add -A
Lad os se på, hvordan de to kommandoer opfører sig:
$ touch a.txt b.txt c.txt$ git tilføj .
$ git status
På filialmester
Ændringer, der skal begås:
(brug "git reset HEAD
ny fil: a.txt
ny fil: b.txt
ny fil: c.txt
$ git commit -m "Tilføj en.txt, b.txt, c.txt "
[master 9ca90fc] Tilføj en.txt, b.txt, c.txt
3 filer ændret, 0 indsættelser (+), 0 sletninger (-)
Opret tilstand 100644 a.txt
Opret tilstand 100644 b.txt
Opret tilstand 100644 c.txt $ touch x.txt y.txt z.txt
$ git add -A
$ git status
På filialmester
Ændringer, der skal begås:
(brug "git reset HEAD
ny fil: x.txt
ny fil: y.txt
ny fil: z.txt
$ git commit -m "Tilføj x.txt, y.txt, z.txt "
[master 8af8c12] Tilføj x.txt, y.txt, z.txt
3 filer ændret, 0 indsættelser (+), 0 sletninger (-)
Opret tilstand 100644 x.txt
Opret tilstand 100644 y.txt
Opret tilstand 100644 z.txt
Begge muligheder ser ud til at virke ens.
For at undersøge nærmere, lad os skabe en situation, hvor vi tilføjer noget på rodniveauet i arbejdsmappen og derefter tilføjer flere filer i en mappe:
$ touch 1.txt$ mkdir ny
$ cd ny
$ touch m.txt n.txt o.txt
$ git tilføj .
$ git status
På filialmester
Ændringer, der skal begås:
(brug "git reset HEAD
ny fil: m.txt
ny fil: n.txt
ny fil: o.txt
Usporede filer:
(brug "git add
… / 1.txt
Bemærk Git tilføjede ikke 1.txt-fil i mappen på højere niveau.
Hvis vi oprettede en mappe kaldet indlejret med d.txt-fil og brug git add. kommando igen, vi ser, at o.txt er tilføjet, men 1.txt er ikke tilføjet endnu.
$ mkdir indlejret$ touch indlejret / d.txt
$ git tilføj .
$ git status
På filialmester
Ændringer, der skal begås:
(brug "git reset HEAD
ny fil: m.txt
ny fil: n.txt
ny fil: indlejret / d.txt
ny fil: o.txt
Usporede filer:
(brug "git add
… / 1.txt
Lad os nu bruge kommandoen git add -A:
$ git add -A$ git status
På filialmester
Ændringer, der skal begås:
(brug "git reset HEAD
ny fil: ... / 1.txt
ny fil: m.txt
ny fil: n.txt
ny fil: indlejret / d.txt
ny fil: o.txt
Nu, 1.txt i mappen er føjet til iscenesættelsesområdet.
Sådan ser mapperne ud
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
'- nyt
| --m.txt
| --n.txt
| --o.txt
'- indlejret
| --d.txt
Så når du bruger “git add .”Kommando, det tilføjer alle ændringer fra dette niveau. Men når du bruger "git add-A" -muligheden, vil den se efter ændringer i hele modulet og tilføje dem.
Konklusion
Kommandoen Git add giver effektive måder at tilføje ændrede filer på. Du kan bruge dine koder naturlige kataloghierarki til at kontrollere, hvad der tilføjes.
Yderligere studier:
- https: // git-scm.com / docs / git-add
- Git: Lær versionskontrol med Git: En trin-for-trin Ultimate Beginners Guide
- Versionskontrol med Git: Kraftfulde værktøjer og teknikker til softwareudvikling i samarbejde
- Pro Git, 2. udgave