Ich ging davon aus, dass beide gleich funktionieren. Beide fügen jede Datei zum Index hinzu. Aber ich scheine falsch zu sein.
- Was ist der Unterschied zwischen
git add .
undgit add -u
?
Es ist eines der hier erwähnten Git-Fallstricke (vor Git 2.0).
git add .
fügt nur hinzu, was vorhanden ist, nicht, was gelöscht wurde (falls verfolgt).
git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend
git add -A
würde sich um beide Schritte kümmern ...
Mit Git 2.0 git add -A
ist Standard .
git add <path>
ist dasselbe wie "git add -A <path>
" jetzt, so dass "git add dir/
" Pfade bemerkt, die Sie aus dem Verzeichnis entfernt haben, und das Entfernen aufzeichnet.
In älteren Git-Versionen wurde "git add <path>
" zum Ignorieren von Entfernungen verwendet.Sie können "
git add --ignore-removal <path>
" sagen , um nur hinzugefügte oder geänderte Pfade hinzuzufügen<path>
, wenn Sie dies wirklich möchten.
Warnung ( git1.8.3 April 2013, für das kommende git2.0 ).
Ich habe meine Antwort geändert, um zu sagen git add -u .
, anstatt git add -u
.:
git add -u
wird den gesamten Baum in Git 2.0 bearbeiten, um die Konsistenz mit "git commit -a
" und anderen Befehlen zu gewährleisten.
Da es keinen Mechanismus gibt, mit dem sich "git add -u
" als " " verhältgit add -u .
, ist es wichtig, dass diejenigen, die es gewohnt sind,git add -u
den Index "(ohne Pfadangabe)" nur für Pfade im aktuellen Unterverzeichnis zu aktualisieren, ihre Finger trainieren, um explizit "git add -u .
" zu sagen. wenn sie es ernst meinen, bevor Git 2.0 kommt.
Wie ich in " e " erwähnt habe
.
(Pfadspezifikation) nicht mit Git 2.x setzen müssen. Es funktioniert zu finden, wenn ich getestet habe.git add .
alle Änderungen am Index hinzugefügt, da die-A
Option standardmäßig aktiviert ist. Überprüfen Sie diese Antwort stackoverflow.com/a/26343584/524588Wie im Handbuch angegeben:
git add .
Fügt alle Dateien im aktuellen Verzeichnis hinzu, währendgit add -u .
nur die bereits verfolgten Dateien hinzugefügt werden.quelle
add -u
wird auch Löschungen inszenieren.git Dokumentation hinzufügen
Fügen Sie alle Dateien aus dem aktuellen Verzeichnis hinzu
Aktualisieren Sie nur Dateien, die gerade verfolgt werden.
quelle