2016-07-05 16 views
3

Derzeit wenn ich will eine machen verpflichten und den Inhalt an die Remote-Git-Repository schieben, ich benutze:Wann "git add." und wenn „git add -A“

git add . //<--notice the dot here 
git commit -m "some commit message" 
git push 

Ich habe viele Leute benutzen gesehen git add -A statt. Ich lese den Unterschied zwischen, . und -A, aber ich bin nicht klar damit.

Sind also diese beiden Befehle gleich?

Wenn nicht, wann sollte man git add . und wann git add -A verwenden?

Antwort

7

git add . fügt nur den Ordner hinzu, in dem Sie sich gerade befinden, git add -A fügt alle Ordner im Repository hinzu.

Zum Beispiel, wenn Ihr Repo ist foo genannt und Sie sind in dem Ordner foo/bar, und verändert die Dateien foo/file1.pl und foo/bar/file2.pl, git add . würde nur Stufe file2.pl während git add -A würden alle Dateien inszenieren.

Bei der Frage, wo zu verwenden ist, hängt es von Ihrem Arbeitsstil ab: Wenn Sie immer ein sauberes Repo behalten und nur Dateien ändern, die festgeschrieben werden sollen, können Sie git add -A verwenden, andernfalls könnte es sinnvoller sein git add . oder fügen Sie die Dateien sogar manuell hinzu. Dies gesagt, es ist eine gute Idee zu immer machen Sie eine git status am Ende, um sicherzustellen, dass Sie nicht etwas begehen, was Sie nicht sollten, denn sobald es gedrückt wird, ist es schwer, diese Daten auszulöschen.

+1

Kudos auf Vorschlag, die Dateien manuell hinzuzufügen. Es ist nur sicherer und du behältst die Kontrolle. – Zloj

1

Da git Version 2.0 ist die Standardeinstellung git add -A

Aus der Release Notes:
https://git.kernel.org/cgit/git/git.git/tree/Documentation/RelNotes/2.0.0.txt

git add <path> ist die gleiche wie git add -A <path> jetzt, so dass git add dir/ werden Pfade bemerken Sie aus dem Verzeichnis entfernt und notieren Sie die Entfernung. In älteren Versionen von Git git add <path> verwendet, um Entfernungen zu ignorieren. Sie können git add --ignore-removal <path> zu nur hinzugefügte oder geänderte Pfade hinzufügen, wenn Sie das wirklich wollen.

0

git add. fügt die geänderten Dateien aus dem aktuellen Verzeichnis und den Unterverzeichnissen hinzu. git add -A fügt die geänderten Dateien aus allen Verzeichnissen hinzu.

1
git add -A 

Es fügt alle Dateien, die Änderungen in allen Ordnern des Repository hat.

git add . 

Es fügt alle Dateien hinzu, die Änderungen im aktuellen Ordner haben.