Como comparar duas tags com git?

435

Gostaria de fazer uma diferença entre duas tags e alterações confirmadas entre essas duas tags. Você poderia me dizer o comando?

bsd
fonte

Respostas:

744
$ git diff tag1 tag2

ou mostre o log entre eles:

$ git log tag1..tag2

às vezes pode ser conveniente ver apenas a lista de arquivos que foram alterados:

$ git diff tag1 tag2 --stat

e, em seguida, observe as diferenças para um arquivo específico:

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

Uma tag é apenas uma referência ao commit mais recente 'nessa tag', para que você esteja fazendo uma diferença nas confirmações entre elas.

Além disso, uma boa referência: http://learn.github.com/p/diff.html

gauteh
fonte
2
@kaiser lol! btw, eu gostaria de adicionar esta dica para comparar diretórios inteiros de dentro git guiem "tools / add" like git difftool -d $REVISION! e para vincular esta resposta também
Aquarius Power
Existe uma maneira de fazer o git logcomando mostrar apenas confirmações adicionais, não confirmadas compartilhadas?
CMCDragonkai
O @CMCDragonkai, que é esse comando, mostra as confirmações adicionais no tag2 desde o tag1.
gauteh
2
Também é útil: simplesmente git diff tag1fornece diferenças entre tag1 e diretório de trabalho; git diff tag1 HEADdiferenças entre tag1 e confirmação mais recente.
ChrisV
4
Certifique-se de fazer git pull --tagsprimeiro.
edburns
2

Para uma representação visual lado a lado, eu uso git difftoolcom openDiffset para o visualizador padrão.

Exemplo de uso:

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

Se você estiver interessado apenas em um arquivo específico, poderá usar:

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

Como nota lateral, os tags/<TAG>s podem ser substituídos por <BRANCH>es se você estiver interessado em difframificar.

Tom Howard
fonte