ver - tipos de etiquetas en git




¿Cómo especificar una plantilla de mensaje de confirmación de git para un repositorio en un archivo en una ruta relativa al repositorio? (2)

Siempre puede especificar una plantilla en tiempo de confirmación con -t <file> o --template=<file> .

Ver: http://git-scm.com/docs/git-commit

Otra opción podría ser utilizar un gancho de prepare-commit-msg : https://stackoverflow.com/a/3525532/289099

¿Hay alguna manera de especificar un git commit.template que sea relativo a un repositorio?

Para la configuración, un ejemplo es

$ git config commit.template $HOME/.gitmessage.txt

Pero me gustaría especificar un archivo de plantilla relativo a la carpeta .git del repositorio.


Usé el gancho prepare-commit-msg para resolver esto.

Primero crea un archivo .git/commit-msg con la plantilla del mensaje de confirmación como

$ cat .git/commit-msg
My Commit Template

Luego crea un archivo .git/hooks/prepare-commit-msg con los contenidos

#!/bin/sh

firstLine=$(head -n1 $1)

if [ -z "$firstLine"  ] ;then
    commitTemplate=$(cat `git rev-parse --git-dir`/commit-msg)
    echo -e "$commitTemplate\n $(cat $1)" > $1
fi

Marque el archivo recién creado como ejecutable:

chmod +x .git/hooks/prepare-commit-msg

Esto establece el mensaje de confirmación para el contenido de la plantilla.





git