2011-05-25 10 views
33

Mój kolega sprawdził kilka zmian w Git, i chcę zobaczyć dokładnie, jakie były te zmiany. Innymi słowy, różnica między jego odprawą a jej rodzicem.Git - najprostszy sposób, aby zobaczyć różnicę w poprzedniej wersji, jeśli mam sha

Co wydawało się logiczne dla mnie było, aby uruchomić to polecenie:

git diff shaOfHisCheckIn 

Ale to nie działa. Wygląda na to, że pokazuje różnicę między tym SHA a moją bieżącą kopią roboczą.

Jakie jest prawidłowe polecenie pokazujące różnicę między danym SHA a jego rodzicem?

Odpowiedz

54

git show jest twoim przyjacielem:

git show shaOfHisCheckIn 
+0

Dzięki, to jest dokładnie to, co trzeba, i jest to łatwe do zapamiętania i do pisania. –

+0

Nie ma za co! Działa również na znacznikach ("git show ") - to naprawdę przydatne polecenie. –

1

git diff shaOfHisCheckIn shaOfHisCheckIn^

4

Spróbuj tego:

git diff shaOfHisCheckIn^ shaOfHisCheckIn 

lub

git diff shaOfHisCheckIn{^,} 
6

Jeśli chcesz zobaczyć di ff wizualnie w kdiff3, meld, kompare, xxdiff, tkdiff, diffuse ...

git difftool --dir-diff shaOfHisCheckIn^! 

git difftool --tool=meld --dir-diff shaOfHisCheckIn^! 

git difftool -t meld -d shaOfHisCheckIn^! 
Powiązane problemy