Git Lägg till alla modifierade filer

Git Add All Modified Files



När du har att göra med Git add har du flera alternativ för att lägga till alla modifierade filer. Låt oss titta på några scenarier för att förstå möjligheterna.

Låt oss initiera ett nytt projekt.







$mkdirprojekt

$CDprojekt

$git init
Initierat tomt Git -arkivi /Användare/zakh_eecs/_arbete/LearnGIT/git_add/projekt/.gå/

$kastade ut 'Nytt projekt' >ReadMe.txt

$git lägg tillReadMe.txt

$git begå -m 'Initial Commit'
[bemästra(root-commit)47b9af1]Initial Commit
1 filändrats,1införande(+)
skapa läge100644ReadMe.txt

I det här projektet har vi lagt till en ReadMe.txt -fil. Vi använde kommandot git add för att lägga till ReadMe.txt. Kommandot add är inte bara för att lägga till filer. Det lägger också till alla filändringar. För denna handledning kommer vi bara att lägga till och ta bort filer för att hålla det enkelt. Men tänk på kommandot lägg till som att lägga till ändringar i iscensättningsområdet. Sedan måste du använda kommandot comm för att göra ändringarna officiella.



När du har att göra med många filer och mappar är det svårt att individuellt lägga till varje ändring. Så du kan använda följande kommandon:



$git lägg till.
$git lägg till -TILL

Låt oss titta på hur de två kommandona beter sig:





$ touch a.txt b.txt c.txt

$ git lägg till.

$ git status
På filialmästare
Ändringar som ska göras:
(använd 'git reset HEAD ...' till unstage)

ny fil: a.txt
ny fil: b.txt
ny fil: c.txt

$ git commit -m 'Lägg till a.txt, b.txt, c.txt'
[master 9ca90fc] Lägg till a.txt, b.txt, c.txt
3 filer ändrade, 0 infogningar (+), 0 borttagningar (-)
skapa -läge 100644 a.txt
skapa -läge 100644 b.txt
skapa -läge 100644 c.txt $Rörx.txt y.txt z.txt

$git lägg till -TILL

$git -status
På filialmästare
Ändringar som ska göras:
(använda sig av'git reset HEAD ...'att avveckla)

ny fil: x.txt
ny fil: y.txt
ny fil: z.txt

$git begå -m 'Lägg till x.txt, y.txt, z.txt'
[mästare 8af8c12]Lägg till x.txt, y.txt, z.txt
3filer har ändrats,0insättningar(+),0raderingar(-)
skapa läge100644x.txt
skapa läge100644y.txt
skapa läge100644z.txt

Båda alternativen verkar fungera likadant.

För att undersöka vidare, låt oss skapa en situation där vi lägger till något på rotnivån i arbetskatalogen och sedan lägger till fler filer i en mapp:



$Rör 1.Text

$mkdirny

$CDny

$Rörm.txt n.txt o.txt

$git lägg till.

$git -status
På filialmästare
Ändringar som ska göras:
(använda sig av'git reset HEAD ...'att avveckla)

ny fil: m.txt
ny fil: n.txt
ny fil: o.txt

Ospårade filer:
(använda sig av'git lägg till ...'att inkluderaivad som kommer att begås)

../1.Text

Lägg märke till att Git inte lade till 1.txt -filen i mappen på högre nivå.

Om vi ​​skapade en mapp som heter nestad med d.txt -fil och använder git add. kommando igen, ser vi att o.txt har lagts till men 1.txt har inte lagts till ännu.

$mkdirkapslade

$Rörkapslade/d.txt

$git lägg till.

$git -status
På filialmästare
Ändringar som ska göras:
(använda sig av'git reset HEAD ...'att avveckla)

ny fil: m.txt
ny fil: n.txt
ny fil: kapslad/d.txt
ny fil: o.txt

Ospårade filer:
(använda sig av'git lägg till ...'att inkluderaivad som kommer att begås)

../1.Text

Låt oss nu använda kommandot git add -A:

$git lägg till -TILL

$git -status
På filialmästare
Ändringar som ska göras:
(använda sig av'git reset HEAD ...'att avveckla)

ny fil: ../1.Text
ny fil: m.txt
ny fil: n.txt
ny fil: kapslad/d.txt
ny fil: o.txt

Nu har 1.txt i mappen lagts till i scenområdet.
Så här ser mapparna ut

projekt
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`- nytt
| --m.txt
| --n.txt
| --o.txt
`- kapslad
| --d.txt

Så när du använder git add. kommando, kommer det att lägga till alla ändringar från den nivån. Men när du använder git add -A -alternativet kommer det att leta efter ändringar i hela modulen och lägga till dem.

Slutsats

Git add -kommandot ger kraftfulla sätt att lägga till modifierade filer. Du kan använda dina katalogers naturliga kataloghierarki för att styra vad som läggs till.

Ytterligare studier: