75 votes

Quelle est la différence entre `git add .` et` git add -u`?

Je supposais que les deux fonctionnent de la même manière. Les deux ajoutent tous les fichiers à l'index. Mais je semble avoir tort.

  • Quelle est la différence entre git add . et git add -u ?

78voto

VonC Points 414372

Il est l'un des git pièges mentionnés ici.

git add . seulement ajoute ce qui est là, non pas ce qui a été supprimé (si 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 permettrait de prendre soin de deux étapes...


Avertissement (git1.8.3 avril 2013, pour venir git2.0).
J'ai modifié ma réponse à-dire git add -u ., au lieu de git add -u.:

git add -u va fonctionner sur l'ensemble de l'arborescence du dépôt Git 2.0 pour des raisons 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 comporter comme des "git add -u .", il est important pour ceux qui sont habitués à "git add -u" (sans pathspec) mise à jour de l'index uniquement pour les chemins dans l'actuelle sous-répertoire pour commencer la formation de leurs doigts explicitement dire "git add -u ." quand ils veulent dire avant Git 2.0 vient.

25voto

Benjamin Bannier Points 11953

Comme le dit le manuel: git add . ajoutera tous les fichiers de votre répertoire actuel, tandis que git add -u . ne fera qu'ajouter ceux qui sont déjà suivis.

14voto

Derek Swingley Points 3851

git add documentaiton

 git add . 
 

ajouter tous les fichiers du répertoire en cours

 git add -u 
 

mettre à jour uniquement les fichiers en cours de suivi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X