La oss initialisere et nytt prosjekt.
$mkdirprosjekt
$CDprosjekt
$git init
Initialisert tomt Git -depoti /Brukere/zakh_eecs/_arbeid/LearnGIT/git_add/prosjekt/.gå/
$kastet ut 'Nytt prosjekt' >ReadMe.txt
$git legge tilReadMe.txt
$git commit -m 'Initial Commit'
[herre(root-commit)47b9af1]Innledende forpliktelse
1 filendret,1innsetting(+)
opprett modus100644ReadMe.txt
I dette prosjektet har vi lagt til en ReadMe.txt -fil. Vi brukte kommandoen git add for å legge til ReadMe.txt. Legg til -kommandoen er ikke bare for å legge til filer. Det legger også til eventuelle filendringer. For denne opplæringen vil vi bare legge til og slette filer for å holde det enkelt. Men tenk på kommandoen legg til som å legge til endringer i iscenesettelsesområdet. Deretter må du bruke kommando for å gjøre endringene offisielle.
Når du har å gjøre med mange filer og mapper, er det vanskelig å legge til hver endring individuelt. Så du kan bruke følgende kommandoer:
$git legge til.
$git legge til -TIL
La oss se på hvordan de to kommandoene oppfører seg:
$ touch a.txt b.txt c.txt
$ git legg til.
$ git status
På filialmester
Endringer som skal gjøres:
(bruk 'git reset HEAD ...' til unstage)
ny fil: a.txt
ny fil: b.txt
ny fil: c.txt
$ git commit -m 'Legg til a.txt, b.txt, c.txt'
[master 9ca90fc] Legg til a.txt, b.txt, c.txt
3 filer endret, 0 innsetting (+), 0 sletting (-)
opprettingsmodus 100644 a.txt
opprettingsmodus 100644 b.txt
opprettingsmodus 100644 c.txt $ta påx.txt y.txt z.txt
$git legge til -TIL
$git -status
På filialmester
Endringer som skal gjøres:
(bruk'git reset HEAD ...'å sette opp scenen)
ny fil: x.txt
ny fil: y.txt
ny fil: z.txt
$git commit -m 'Legg til x.txt, y.txt, z.txt'
[mester 8af8c12]Legg til x.txt, y.txt, z.txt
3filer endret,0innsetting(+),0slettinger(-)
opprett modus100644x.txt
opprett modus100644y.txt
opprett modus100644z.txt
Begge alternativene ser ut til å fungere det samme.
For å undersøke nærmere, la oss lage en situasjon der vi legger til noe på rotnivå i arbeidskatalogen og deretter legger til flere filer i en mappe:
$ta på 1.tekst
$mkdirny
$CDny
$ta påm.txt n.txt o.txt
$git legge til.
$git -status
På filialmester
Endringer som skal gjøres:
(bruk'git reset HEAD ...'å sette opp scenen)
ny fil: m.txt
ny fil: n.txt
ny fil: o.txt
Filer som ikke er sporet:
(bruk'git add ...'å inkludereihva som vil bli begått)
../1.tekst
Legg merke til at Git ikke la til 1.txt -filen i mappen på høyere nivå.
Hvis vi opprettet en mappe som heter nestet med d.txt -fil og bruker git add. kommando igjen, ser vi at o.txt er lagt til, men 1.txt er ikke lagt til ennå.
$mkdirhekket$ta påhekket/d.txt
$git legge til.
$git -status
På filialmester
Endringer som skal gjøres:
(bruk'git reset HEAD ...'å sette opp scenen)
ny fil: m.txt
ny fil: n.txt
ny fil: nestet/d.txt
ny fil: o.txt
Filer som ikke er sporet:
(bruk'git add ...'å inkludereihva som vil bli begått)
../1.tekst
La oss nå bruke kommandoen git add -A:
$git legge til -TIL$git -status
På filialmester
Endringer som skal gjøres:
(bruk'git reset HEAD ...'å sette opp scenen)
ny fil: ../1.tekst
ny fil: m.txt
ny fil: n.txt
ny fil: nestet/d.txt
ny fil: o.txt
Nå er 1.txt i mappen lagt til i oppsettingsområdet.
Slik ser mappene ut
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`- nytt
| --m.txt
| --n.txt
| --o.txt
`- hekket
| --d.txt
Så når du bruker git add. kommando, vil den legge til alle endringene fra det nivået. Men når du bruker git add -A -alternativet, vil det se etter endringer i hele modulen og legge dem til.
Konklusjon
Git add kommando gir kraftige måter å legge til endrede filer. Du kan bruke kodene naturlig kataloghierarki til å kontrollere hva som blir lagt til.