tipos tag remove practices etiquetas crear best git git-commit pre-commit-hook

tag - ¿Puedo usar una plantilla de compilación para git?



git tag best practices (2)

Estamos trabajando en los tickets, y cuando usamos el número del ticket en el mensaje de confirmación de git en la primera línea, el ticket se actualiza con el mensaje de confirmación.

Para simplificar las cosas, siempre trabajamos en una sucursal con el número de confirmación.

Ahora me gustaría que se me presente un mensaje de confirmación donde el número de boleto ya se hubiera completado.

Debe ser posible, porque la rama ya está en la plantilla de confirmación, pero en los comentarios que se eliminan por git. He rastreado los documentos y la red un par de veces, pero debo estar buscando las palabras equivocadas, porque no puedo encontrarlas.

¿Alguien puede ayudar?


Parece que deberías poder hacer esto usando .git / hooks / pre-commit-msg

Un ejemplo simple de esto sería:

#!/bin/sh # $1 contains the file with the commit msg we''re about to edit. # We''ll just completely clobber it for this example. echo "Hello" > "$1"

Esto haría que tu compromiso comience con "Hola". Obviamente, ya que es un script, puedes hacer algo de magia aquí para completar el número de tu boleto y cualquier otra información. Debe haber un pre-commit-msg.sample en el directorio .git / hooks / que le indica qué argumentos recibe el script si necesita algo más.


Probablemente desee configurar un prepare-commit-msg en su repositorio local. Podría verse así (digamos que las sucursales se llaman ''work-on-ticket-XXXX''):

#!/bin/sh ORIG_MSG_FILE="$1" TEMP=`mktemp /tmp/git-XXXXX` TICKETNO=`git branch | grep ''^/*'' | cut -b3-` (echo "Work on ticket #$TICKETNO"; cat "$ORIG_MSG_FILE") > "$TEMP" cat "$TEMP" > "$ORIG_MSG_FILE"

Ponga algo así (marcado como ejecutable) en .git/hooks/prepare-commit-msg . Puede que tenga que ajustarlo y explicarlo, por supuesto.