2010-07-09 12 views
310

Chcę zrobić różnicę między dwoma znacznikami i zatwierdzonymi zmianami między tymi dwoma znacznikami, czy mógłbyś powiedzieć mi polecenie?Git diff między podanymi dwoma znacznikami

+130

myślę społeczność git często oczekuje początkujących, aby dowiedzieć się więcej niż powinni. To jest poprawne pytanie. Daj mu spokój. –

+1

Hmmmm ... Nie ma "ostatniego zatwierdzenia tego tagu". Znacznik jest tylko odniesieniem do zatwierdzenia. –

Odpowiedz

549
$ git diff tag1 tag2 

lub pokaż log między nimi:

$ git log tag1..tag2 

czasami może to być wygodne, aby wyświetlić tylko listę plików, które zostały zmienione:

$ git diff tag1 tag2 --stat 

a następnie spojrzeć na różnice dla konkretny plik:

$ git diff tag1 tag2 -- some/file/name 

Znacznik jest tylko odwołaniem do ostatniego zatwierdzenia "na tym znaczniku", więc robisz różnicę w zatwierdzeniach między nimi.

Również dobre referencje: http://learn.github.com/p/diff.html

+2

@kaiser lol! btw, chciałbym dodać tę wskazówkę, aby porównać całe katalogi z 'git gui' w" tools/add "jak' git difftool -d $ REVISION'! i aby połączyć [tę odpowiedź] (http://stackoverflow.com/a/2006241/1422630) też. –

+0

Czy istnieje sposób, aby komenda 'git log' pokazywała tylko dodatkowe zatwierdzenia, a nie wspólne zatwierdzenia? – CMCDragonkai

+0

@CMCDragonkai to właśnie robi to polecenie, pokazuje dodatkowe zatwierdzenia na tag2 od tag1. – gauteh