Je supposais que les deux fonctionnent de la même manière. Les deux ajoutent chaque fichier à l'index. Mais je me trompe.
git add .
et git add -u
?C'est l'un des git gotchas mentionné ici (pré Git 2.0).
git add .
ajoute uniquement ce qui est là, pas ce qui a été supprimé (s'il est suivi).
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
se chargerait des deux étapes ...
Avec Git 2.0, git add -A
est la valeur par défaut .
git add <path>
est le même que "git add -A <path>
"maintenant, pour que"git add dir/
"remarquera les chemins que vous avez supprimés du répertoire et enregistrera la suppression.
Dans les anciennes versions de Git, "git add <path>
"utilisé pour ignorer les suppressions.Tu peux dire "
git add --ignore-removal <path>
"pour ajouter uniquement les chemins ajoutés ou modifiés dans<path>
, si tu veux vraiment.
Avertissement ( git1.8.3 avril 2013, pour le prochain git2. ).
J'ai modifié ma réponse pour dire git add -u .
, au lieu de git add -u
.:
git add -u
fonctionnera sur la totalité de l'arborescence dans Git 2.0 par souci de cohérence avec "git commit -a
"et d'autres commandes.
Parce qu'il n'y aura pas de mécanisme pour faire "git add -u
"se comporte comme"git add -u .
", il est important pour ceux qui ont l'habitude de"git add -u
"(sans pathspec) mettant à jour l'index uniquement pour les chemins du sous-répertoire courant afin de commencer à entraîner leurs doigts à dire explicitement"git add -u .
"quand ils le pensent avant l'arrivée de Git 2.0.
Comme je l'ai mentionné dans " e "
Comme le dit le manuel: git add .
ajoutera tous les fichiers dans votre répertoire actuel, tandis que git add -u .
n'ajoutera que ceux déjà suivis.
git add .
ajouter tous les fichiers du répertoire courant
git add -u
ne met à jour que les fichiers en cours de suivi.