git add. vs git commit -a


Réponses:


139

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

Ce n'est pas la même chose car git add .cela ajouterait des fichiers non suivis qui ne sont pas ignorés, mais git add -uuniquement les modifications (y compris les suppressions) des 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 -umet à jour les fichiers dans le répertoire actuel et ci-dessous, cela équivaut à git add -u .alors que les git commit -aétapes et les modifications apportées à tous les fichiers suivis.


3
Le comportement dans [*] changera dans git 2.0, par souci de cohérence.
user1284631

2
Dans quelle direction? c'est-à-dire que commit -a deviendra comme add -u, ou est-ce que add -u deviendra comme commit -a?
Miles Rout

5
@MilesRout: git add -udeviendra comme git commit -a; vous devrez dire explicitement git add -u .si c'est ce que vous voulez dire.
CB Bailey

C'est absolument la même chose depuis Git v 2.0 où git add .se comporte d'une manière différente.
Nick Volynkin

13

git commit -ainvoque automatiquement git addsur tous les fichiers dont il a connaissance. Vous pouvez utiliser git addpour sélectionner les fichiers à valider. Consultez la documentation pour plus d'informations: ici


11
tous les fichiers dont il a connaissance me sont très peu clairs, d'autant plus que ceux
ci n'auraient

1
@alternative, Pourtant cette réponse peut faire mieux si vous ajoutez une clarification pour "tous les fichiers qu'elle connaît" .....
Pacerier

2
@Pacerier équivalent àgit add -u
alternative

2
@ Z.Khullah, donc "tous (...)" signifie "fichiers suivis"?
TheFrost

1
@TheFrost précisément!
Z. Khullah

1

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)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.