2011-03-09 15 views
30

Eventuali duplicati:
How do I show the changes which have been staged?vista diff dei cambiamenti in scena in git

C'è un modo semplice per visualizzare il diff del solo in scena cambiamenti che ho in sospeso in git? Ho messo in scena diversi file, ma voglio dare un'ultima occhiata a quello che sto commettendo prima di premere il pulsante. Ho diverse altre modifiche non modificate che voglio passare in un commit separato, quindi non lo faccio, facendo git diff, e poi sfogliare il file che voglio non è un'opzione desiderabile.

Esempio:

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: foo.java 
# 
# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  modified: bar.java 
#  modified: baz.java 
#  modified: qux.java 

ho davvero voglia di vedere quello che ho cambiato in foo.java senza dover unstage.

+0

@miku +1, hanno votato per chiudere così (e lasciando qui perché è [migliori pratiche] (http: //meta.stackexchange.com/questions/230/duplicate-question-etiquette-to-delete-or-not-to-delete) a quanto pare), sorpreso che non si è mostrato durante la pubblicazione –

+0

Presto, sarete in grado di vedi entrambe le modifiche (staged e nonstaged) con 'git status -v -v': vedi http://stackoverflow.com/a/29116346/6309. – VonC

risposta

52

Ancora un minuto di usare Google ha trovato la risposta, naturalmente, rispondendo alla mia domanda:

git diff --cached 
+21

git diff --staged è un sinonimo ed è più mnemonico per questo caso – user1284631