La oss initialisere et nytt prosjekt.
$ MKDIR -prosjekt
$ CD -prosjekt
$ git init
Initialisert tom Git -depot i/brukere/zakh_eecs/_work/learngit/git_add/prosjekt/.git/
$ ekko "Nytt prosjekt"> Readme.tekst
$ git Legg til Readme.tekst
$ git commit -m "initial commit"
[Master (Root-Commit) 47B9AF1] Innledende forpliktelse
1 Fil endret, 1 innsetting (+)
Opprett modus 100644 Readme.tekst
I dette prosjektet har vi lagt til en readme.txt -fil. Vi brukte kommandoen "git add" for å legge til readme.tekst. ADD -kommandoen er ikke bare for å legge til filer. Den legger også til enhver filmodifisering. For denne opplæringen vil vi bare legge til og slette filer for å holde det enkelt. Men tenk på add -kommandoen som å legge til endringer i iscenesettelsesområdet. Deretter må du bruke Commit -kommandoen 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 Legg til .
$ git add -a
La oss se på hvordan de to kommandoene oppfører seg:
$ berøring a.txt b.txt c.tekst$ berøring x.txt y.txt z.tekst
$ git add -a
$ git status
På grenmester
Endringer som skal forpliktet:
(Bruk "Git Reset Head ..." til Unsage)
Ny fil: x.tekst
Ny fil: y.tekst
Ny fil: z.tekst
$ git commit -m "Legg til x.txt, y.txt, z.tekst"
[Master 8af8c12] Legg til x.txt, y.txt, z.tekst
3 filer endret, 0 innsettinger (+), 0 slettinger (-)
Opprett modus 100644 x.tekst
Opprett modus 100644 y.tekst
Opprett modus 100644 z.tekst
Begge alternativene ser ut til å fungere de samme.
For å undersøke nærmere, la oss skape en situasjon der vi legger til noe på rotnivået til arbeidskatalogen og deretter legger til flere filer i en mappe:
$ berøring 1.tekst
$ mkdir ny
$ CD NY
$ berøring m.txt n.txt o.tekst
$ git Legg til .
$ git status
På grenmester
Endringer som skal forpliktet:
(Bruk "Git Reset Head ..." til Unsage)
Ny fil: m.tekst
Ny fil: n.tekst
Ny fil: o.tekst
Ikke -sporede filer:
(Bruk "git add ..." for å inkludere i det 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 kalt nestet med D.txt -fil og bruk Git Legg til. kommando igjen, vi ser at o.TXT er lagt til, men 1.TXT er ikke lagt til ennå.
$ mkdir nestet
$ berøring nest/d.tekst
$ git Legg til .
$ git status
På grenmester
Endringer som skal forpliktet:
(Bruk "Git Reset Head ..." til Unsage)
Ny fil: m.tekst
Ny fil: n.tekst
Ny fil: nestet/d.tekst
Ny fil: o.tekst
Ikke -sporede filer:
(Bruk "git add ..." for å inkludere i det som vil bli begått)
… /1.tekst
La oss nå bruke Git Add -A -kommandoen:
$ git add -a
$ git status
På grenmester
Endringer som skal forpliktet:
(Bruk "Git Reset Head ..." til Unsage)
Ny fil:… /1.tekst
Ny fil: m.tekst
Ny fil: n.tekst
Ny fil: nestet/d.tekst
Ny fil: o.tekst
Nå, 1.TXT i mappen er lagt til i iscenesettelsesområdet.
Slik ser mappene ut
Så når du bruker “Git Legg til .”Kommando, det vil legge til alle endringene fra det nivået. Men når du bruker alternativet "git add -a" vil det se etter endringer i hele modulen og legge til dem.
Konklusjon
Git Add -kommandoen gir kraftige måter å legge til endrede filer. Du kan bruke kodene dine naturlige kataloghierarki for å kontrollere hva som blir lagt til.