2010-05-11 9 views
17

Quelle est la différence entre ces deux commandes?Quel est l'effet de commit git sans l'option -a?

git commit -m "added a new page" 

et

git commit -a -m "added a new page" 

Je sais que l'option -a mettra en scène les fichiers qui ont été modifiés et supprimés, mais ce qui ne l'exécuter sans -a dire?

Répondre

27

Vous devez explicitement mettre en place des modifications pour l'engagement en utilisant git add ou git rm.

Si vous utilisez le drapeau -a lorsque vous faites une livraison, git mettra en scène automatiquement les fichiers modifiés et supprimés sans avoir à mettre en scène explicitement les utiliser add ou rm, etc.

Si vous ne pas préciser-a, tous les fichiers qui ont été modifiés ou supprimés, mais pas explicitement mis en scène en utilisant git add ou git rm seront ignorés dans le commit.

mise à jour

Comme le Dr Gianluigi Zane Zanettini dit - -a ne pas ajouter nouveaux fichiers à l'index, donc si vous avez des fichiers complètement nouveaux, vous ne devriez pas attendre -a ad eux.

http://www.kernel.org/pub/software/scm/git/docs/git-commit.html

+0

Merci pour votre aide! – ben

+0

@ben vous êtes les bienvenus. –

+2

Petite note: '-a' ne fonctionne que pour les fichiers modifiés/supprimés. La documentation per git, les nouveaux fichiers ne sont pas affectés: 'mais les nouveaux fichiers dont vous n'avez pas parlé ne sont pas affectés.' => Il est presque toujours préférable de faire 'git add .' au lieu de' git commit -a'. –