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.

Respuestas:


146

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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.