2010-05-11 10 views
17

Qual è la differenza tra questi due comandi?Qual è l'effetto di git commit senza l'opzione -a?

git commit -m "added a new page" 

e

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

So che l'opzione -a metterà in scena i file che sono stati modificati e cancellate, ma poi cosa fa correre senza il -a dire?

risposta

27

È necessario inserire esplicitamente le modifiche per impegno utilizzando git add o git rm.

Se si utilizza il flag -a quando si fa un commit, git metterà in scena automaticamente tutti i file modificati e rimossi senza dover mettere in scena in modo esplicito utilizzando add o rm, ecc

Se non lo fai specificare -a, qualsiasi file che è stato modificato o rimosso, ma non messo in scena in modo esplicito utilizzando git add o git rm verrà ignorato nel commit.

aggiornamento

Come dice il Dr. Gianluigi Zane Zanettini - -a non aggiunge nuove file all'indice, quindi se avete completamente nuovi file non si deve aspettare -a all'annuncio loro.

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

+0

Grazie per il vostro aiuto! – ben

+0

@ben prego. –

+2

Una piccola nota: '-a' funziona solo per i file modificati/cancellati. Per documentazione git, i nuovi file non sono interessati: 'ma i nuovi file che non hai detto a Git non sono interessati. => È quasi sempre meglio fare' git add .' invece di 'git commit -a'. –