web-dev-qa-db-fra.com

git add. vs git commit -a

Quelle est la différence entre:

  • git add .
  • git commit -a

Dois-je faire les deux, ou est-ce redondant?

89
Yarin

git commit -a signifie presque [*] la même chose que git add -u && git commit.

Ce n'est pas la même chose que git add . car cela ajouterait des fichiers non suivis qui ne sont pas ignorés, git add -u ne transfère que les modifications (y compris les suppressions) aux fichiers déjà suivis.

[*] Il y a une différence subtile si vous n'êtes pas dans le répertoire racine de votre référentiel. git add -u organise les mises à jour des fichiers dans le répertoire actuel et ci-dessous, c'est équivalent à git add -u . tandis que git commit -a met en scène et valide les modifications dans tous les fichiers suivis.

123
CB Bailey

git commit -a appelle automatiquement git add sur tous les fichiers qu'il connaît. Vous pouvez utiliser git add pour sélectionner les fichiers à valider. Consultez la documentation pour plus d'informations: ici

13
alternative

En utilisant le commutateur git commit -a avec la commande commit pour "ajouter" automatiquement les modifications de tous les fichiers connus (c'est-à-dire tous les fichiers qui sont déjà répertoriés dans l'index)

1
Dilip