Come confrontare due tag con git?


435

Vorrei fare una differenza tra due tag e modifiche impegnate tra quei due tag. Potresti dirmi il comando per favore?

Risposte:


744
$ git diff tag1 tag2

o mostra il registro tra di loro:

$ git log tag1..tag2

a volte può essere utile vedere solo l'elenco dei file che sono stati modificati:

$ git diff tag1 tag2 --stat

e poi guarda le differenze per alcuni file particolari:

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

Un tag è solo un riferimento all'ultimo commit 'su quel tag', in modo che tu stia facendo un diff sui commit tra di loro.

Inoltre, un buon riferimento: http://learn.github.com/p/diff.html


2
@kaiser lol! tra l'altro, vorrei aggiungere questo suggerimento per confrontare intere directory dall'interno git guidi "strumenti / aggiungi" come git difftool -d $REVISION! e di collegare questa risposta troppo
Acquario di potenza

Esiste un modo per fare in modo che il git logcomando mostri solo commit aggiuntivi, non commit condivisi?
CMCDragonkai,

@CMCDragonkai è ciò che fa questo comando, mostra i commit aggiuntivi su tag2 dal tag1.
gauteh,

2
Utile anche: git diff tag1fornisce semplicemente differenze tra tag1 e directory di lavoro; git diff tag1 HEADdifferenze tra tag1 e commit più recente.
ChrisV,

4
Assicurati di fare git pull --tagsprima.
Edburns,


2

Per una rappresentazione visiva affiancata, utilizzo git difftoolcon openDiffset il visualizzatore predefinito.

Esempio di utilizzo:

git difftool tags/<FIRST TAG> tags/<SECOND TAG>

Se sei interessato solo a un file specifico, puoi utilizzare:

git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>

Come nota a margine, la tags/<TAG>s può essere sostituita con <BRANCH>es se si è interessati ai difframi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.