Подтвердить что ты не робот

Как указать шаблон сообщения git commit для репозитория в файле по относительному пути к репозиторию?

Есть ли способ указать git файл commit.template, относящийся к репозиторию?

Для конфигурации пример

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

Но я хотел бы указать файл шаблона относительно папки .git в репозитории.

4b9b3361

Ответ 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/...