Как указать шаблон сообщения git commit для репозитория в файле по относительному пути к репозиторию?
Есть ли способ указать git файл commit.template, относящийся к репозиторию?
Для конфигурации пример
$ git config commit.template $HOME/.gitmessage.txt
Но я хотел бы указать файл шаблона относительно папки .git в репозитории.
Ответы
Ответ 1
Этот блог подсказывал мне, что если путь к файлу шаблона не является абсолютным, то путь считается относительно корня репозитория.
git config commit.template /absolute/path/to/file
or
git config commit.template relative-path-from-repository-root
Ответ 2
Я использовал hook-commit-msg для решения этой проблемы.
Сначала создайте файл .git/commit-msg
с шаблоном сообщения фиксации, например
$ cat .git/commit-msg
My Commit Template
Далее создайте файл .git/hooks/prepare-commit-msg
с содержимым
#!/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
Отметьте вновь созданный файл как исполняемый файл:
chmod +x .git/hooks/prepare-commit-msg
Это устанавливает сообщение фиксации содержимому шаблона.
Ответ 3
Вы всегда можете указать шаблон в момент фиксации с помощью -t <file>
или --template=<file>
.
Смотрите: http://git-scm.com/docs/git-commit
Другим вариантом может быть использование prepare-commit-msg
hook: fooobar.com/info/205489/...