2010-07-28 15 views
136

Necesito un comando de plomería para imprimir el mensaje de confirmación de una confirmación determinada, nada más y nada menos.Mensaje de confirmación de impresión de una confirmación determinada en git

+1

Si alguien viene aquí en busca de una manera de imprimir una sola línea de mensajes de confirmación, pero no le importa sobre el hash que aparece al principio, los siguientes trabajos: 'git show -s --oneline ' – waldyrious

+0

¿Dónde deberíamos agregar la línea para imprimir el mensaje de confirmación en la máquina del servidor? Quise decir qué archivo de gancho? –

Respuesta

182

No es "fontanería", sino que va a hacer exactamente lo que quiere:

$ git log --format=%B -n 1 <commit> 

Si es absolutamente necesario un comando de "cañerías" (no sé por qué eso es un requisito), puede utilizar rev-list:

$ git rev-list --format=%B --max-count=1 <commit> 

Aunque rev-list también imprimirá el sha comprometerse (en la primera línea), además del mensaje de confirmación.

+4

Funcionó perfectamente para mí, pero usé '% s% b' en lugar de'% B' (en una caja de Linux) – adamk

+15

'% B' es un especificador correcto (al menos, en Git 1.7.2, no estoy seguro cuando fue añadido). – mipadi

+2

'% B' se agregó en algún momento después de 1.7.1 (probablemente en 1.7.1.1). – mipadi

8
No

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 un compromiso para obtener el resumen o mensaje de esa confirmación. (Estoy usando 1.7.0.5 así que no tengo% B.)

10

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 
79

git show es más que un comando de fontanería git log, y tiene las mismas opciones de formato:

git show -s --format=%B SHA1 
+9

Y si solo quiere la primera línea ("asunto"), use ' % s' en lugar de '% B'. – ntc2

+8

(Prefiero esto a la respuesta "log" o "rev-list" aceptada, ya que es una operación de compromiso único, en lugar de una lista restringida a 1 entrada). – Rich

Cuestiones relacionadas