Ответ 1
Я бы просто использовал prepare-commit-msg
, чтобы добавить это в файл. Из (связанной) manpage:
Этот крюк вызывается git commit сразу после подготовки сообщения журнала по умолчанию и перед запуском редактора.
Требуется от одного до трех параметров. Первый - это имя файла, содержащего сообщение журнала фиксации. Второй является источником сообщения о фиксации... [сообщение, шаблон, слияние, сквош или фиксация]...
Если статус выхода не равен нулю, git commit будет прерван.
Целью крюка является редактирование файла сообщения на месте...
Вы можете получить текущую ветвь с git symbolic-ref HEAD
.
Вы можете просто обойти шаблоны в целом, и у вас есть hook preend/insert/append имя ветки. Простейший случай, добавление, script - это просто строка shebang, затем git symbolic-ref HEAD >> "$1"
. Используйте свой любимый метод, если вы хотите его встроить - наиболее читаемый, чтобы отложить оригинал в сторону, написать и добавить, но метод, связанный в комментариях, тоже работает.
Если вы предпочитаете использовать шаблон с заполнителями, вы можете просто сделать что-то вроде sed -i "s/Bug : \$BUG/BUG : $(git symbolic-ref HEAD)/" "$1"
. Я уверен, вы можете представить себе множество других вариантов.
Возможно, вы захотите подавить это поведение для некоторых типов коммитов (этот второй аргумент) или даже включить его, только если второй аргумент является "шаблоном", если вы используете подход подстановки шаблонов.