Registro de Git entre etiquetas

82

Estoy tratando de generar el registro entre dos confirmaciones etiquetadas.

mbell@cheetah [12:07:22] [/var/www/html/brone] [dev]
-> % git tag 
6.x-0.1
6.x-1.0-beta1
6.x-1.0-beta2
6.x-1.0-beta3
6.x-1.0-beta4
6.x-1.0-beta5
6.x-1.0-beta6
6.x-1.0-beta7
6.x-1.0-beta8
6.x-1.0-beta9

Si entonces lo hago:

git log 6.x-1.0-beta8 6.x-1.0-beta9 > ~/gitlogbrone.txt

Muestra todas las confirmaciones desde el inicio del repositorio, que no es lo que quiero. He leído el manual de git log pero no ayuda mucho.

digital
fuente

Respuestas:

146

Necesita una elipsis para indicar un rango. Prueba git log tag1..tag2.

Noufal Ibrahim
fuente
25
...le dará la diferencia simétrica (solo mostrando las confirmaciones no accesibles desde ambas etiquetas), supongo que lo desea..
knittl
14
Nota: las etiquetas deben estar en orden ascendente. newtag..oldtagno funciona
balki
4
Re: "las etiquetas deben estar en orden ascendente. Newtag..oldtag no funciona": Creo que git solo traduce las etiquetas a sus respectivas confirmaciones primero, luego realiza la operación solicitada en esas confirmaciones. Cambiar el orden de las etiquetas simplemente invierte las diferencias antes y después, pero aún debería funcionar.
Gino
1

Utilizo esto para obtener las confirmaciones entre las últimas 2 etiquetas:

git log --pretty=format:%s `git tag --sort=-committerdate | head -1`...`git tag --sort=-committerdate | head -2 | awk '{split($0, tags, "\n")} END {print tags[1]}'` > change_log.txt
Wilmol
fuente