2012-03-09 3 views
8

Sto utilizzando git per tenere traccia delle modifiche nei file di configurazione di applicazioni di terze parti. Al primo momento ho fatto il commit iniziale e poi ho adattato le impostazioni dell'applicazione gradualmente. Ora ho le ultime impostazioni valide e le ho inserite in git. Vorrei vedere cosa avevo cambiato.Come si vede git diff dall'inizio fino al HEAD?

Come realizzare questo?

ho fatto

git log --graph 

o simili, ma vedere tutti i commit contrassegnati con i numeri esadecimali. Posso usarli per git diff?

risposta

6

È possibile utilizzare l'argomento -p con git log per ottenere tutte le diff per tutti i commit:

git log --graph -p 

Se volete vedere il diff completo dal primo commit a testa si può fare qualcosa di simile:

git diff `git rev-list HEAD | tail -n 1` HEAD 
5

Come vedere git diff da fin dall'inizio alla TESTA?

All'inizio non c'era nulla, quindi la differenza tra niente e HEAD è in effetti .. tutto ciò che è in HEAD. Se tuttavia definite inizio come "dopo il primo commit", usate semplicemente git diff con l'id del primo commit. (git diff 1234567..HEAD)

2

È possibile utilizzare i seguenti comandi

modifiche tra la testa e l'indice.

git diff --staged 

Modifiche tra file principale e di lavoro.

git diff HEAD 

Modifiche tra due commit

git diff $commit $ commit 

Anche dare un'occhiata al seguente ed utilizzare secondo il requisito:

git log tag..branch 
git log HEAD~10.. 
git log -10 
git log -10 [email protected]{yesterday} 
2

Io uso questo semplice comando qui sotto per ottenere la lista di tutti file rilevati:

git ls-tree --name-status -r HEAD