Necesito un comando de plomería para imprimir el mensaje de confirmación de una confirmación determinada, nada más y nada menos.
Necesito un comando de plomería para imprimir el mensaje de confirmación de una confirmación determinada, nada más y nada menos.
Respuestas:
No es "plomería", pero hará exactamente lo que quieras:
$ git log --format=%B -n 1 <commit>
Si necesita absolutamente un comando de "plomería" (no estoy seguro de por qué es un requisito), puede usar rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
Aunque rev-list
también imprimirá el commit sha (en la primera línea) además del mensaje de confirmación.
%s%b
lugar de %B
(en una caja de Linux)
%B
es un especificador correcto (al menos, en Git 1.7.2, no estoy seguro de cuándo se agregó).
%B
se agregó en algún momento después de 1.7.1 (probablemente en 1.7.1.1).
$ git log --format=%B -n 1 <commit> | cat -
Eso le dará el mensaje de confirmación y no confirmará sha, y puede "canalizarlo". De hecho, uso esto como parte de mi script de CI.
git show
es más un comando de plomería que git log
, y tiene las mismas opciones de formato:
git show -s --format=%B SHA1
%s
lugar de %B
.
No son fontanería, pero tengo estos en mi .gitconfig:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
Eso es "último resumen" y "último mensaje". Puede proporcionar una confirmación para obtener el resumen o el mensaje de esa confirmación. (Estoy usando 1.7.0.5, así que no tengo% B).
Esto le dará una lista muy compacta de todos los mensajes para un tiempo específico.
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
Empecé a usar
git show-branch --no-name <hash>
Parece ser más rápido que
git show -s --format=%s <hash>
Ambos dan el mismo resultado
git show -s --oneline <commit>