¿Cómo comparar dos etiquetas con git?

435

Me gustaría hacer una diferencia entre dos etiquetas y cambios confirmados entre esas dos etiquetas. ¿Podría por favor decirme el comando?

bsd
fuente

Respuestas:

744
$ git diff tag1 tag2

o mostrar el registro entre ellos:

$ git log tag1..tag2

a veces puede ser conveniente ver solo la lista de archivos que se modificaron:

$ git diff tag1 tag2 --stat

y luego mira las diferencias para algún archivo en particular:

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

Una etiqueta es solo una referencia a la última confirmación 'en esa etiqueta', por lo que está haciendo una diferencia en las confirmaciones entre ellas.

Además, una buena referencia: http://learn.github.com/p/diff.html

Gauteh
fuente
2
@kaiser lol! Por cierto, me gustaría agregar este consejo para comparar directorios completos desde dentro git guien "herramientas / agregar" como git difftool -d $REVISION! y para vincular esta respuesta también
Aquarius Power
¿Hay alguna manera de hacer que el git logcomando solo muestre confirmaciones adicionales, no confirmaciones compartidas?
CMCDragonkai
@CMCDragonkai que es lo que hace este comando, muestra las confirmaciones adicionales en tag2 desde tag1.
gauteh
2
También es útil: simplemente git diff tag1da diferencias entre tag1 y el directorio de trabajo; git diff tag1 HEADdiferencias entre tag1 y commit más reciente.
ChrisV
44
Asegúrate de hacer git pull --tagsprimero.
Edburns
2

Para una representación visual de lado a lado, uso git difftoolconopenDiff set en el visor predeterminado.

Ejemplo de uso:

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

Si solo está interesado en un archivo específico, puede usar:

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

Como nota al margen, la tags/<TAG>s se puede reemplazar con <BRANCH>es si está interesado en difflas ramas.

Tom Howard
fuente