Warum brauche ich git add, wenn ich git commit -a verwende?

353
Jeno

Ich habe gelernt, das git commit -aschließt ein git add. Trotzdem muss ich die git add .ganze Zeit tun, wenn neue Dateien vorhanden sind, da sie git commit -anicht nachverfolgt werden.

0
commit funktioniert nur für Dateien in INDEX, es werden keine neuen Dateien zu INDEX hinzugefügt. Beachten Sie auch, dass Shotgun-Methoden wie "git commit -a" oder "git add." Unbeabsichtigte Folgen haben können, wenn sich Ihr Arbeitsverzeichnis nicht in dem Zustand befindet, in dem Sie es vermuten. Erstellen Sie beispielsweise eine neue Datei in der WD, ohne sie zu INDEX hinzuzufügen. Dann checken Sie einen anderen Zweig aus. Auch wenn Sie sich jetzt in einem anderen Zweig befinden, befindet sich die nicht protokollierte Datei immer noch im WD. Wenn Sie also git add ausführen, wird sie unbeabsichtigt zu INDEX hinzugefügt und Teil des Repositorys. Frank Thomas vor 6 Jahren 1

1 Antwort auf die Frage

1
Daniel B

Die --allOption entspricht nichtgit add <REPOSITORY_ROOT> . Wie in der Dokumentation :

-a -
alles

Erteilen Sie dem Befehl, automatisch geänderte und gelöschte Dateien in Szene zu setzen, aber neue Dateien, von denen Sie Git nichts mitgeteilt haben, sind nicht betroffen.

(Hervorhebung meines)

git addfügt jedoch auch nicht aufgezeichnete ("neue") Dateien hinzu.