2011-03-09 21 views
30

Powiel możliwe:
How do I show the changes which have been staged?Zobacz diff inscenizowanych zmian w git

Czy istnieje prosty sposób, aby zobaczyć diff tylko wystawił zmiany mam oczekujących w git? Przygotowałem kilka plików, ale chcę jeszcze raz rzucić okiem na to, co robię, zanim nacisnę przycisk. Mam kilka innych niezamkniętych zmian, które chcę wprowadzić w oddzielnym zatwierdzeniu, więc odpluskwam, robiąc git diff, a następnie przywołuję do pliku, który chcę, nie jest wcale pożądaną opcją.

Przykład:

$ 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 

ja naprawdę chcę zobaczyć, co zmieniło się w foo.java bez konieczności unstage.

+0

@miku +1, głosowali, aby zamknąć jak również (i pozostawienie go tutaj, bo to [najlepszych praktyk] (http: //meta.stackexchange.com/questions/230/duplicate-question-etiquette-to-delete- or-not-to-delete) najwyraźniej), zaskoczony, że nie pojawił się po wysłaniu –

+0

Wkrótce będziesz mógł zobacz obie zmiany (etapowe i niezajęte) z 'git status -v -v': patrz http://stackoverflow.com/a/29116346/6309. – VonC

Odpowiedz

52

Jeszcze jedna minuta googling znalazłem odpowiedź oczywiście, odpowiadając na własne pytanie:

git diff --cached 
+21

git diff --start jest synonimem i jest bardziej mnemoniczny dla tego przypadku – user1284631