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

Могу ли я использовать шаблон сценария фиксации для git?

Мы работаем над билетами, и когда мы используем номер билета в сообщении git commit в первой строке, тогда билет обновляется сообщением фиксации.

Чтобы сделать все просто, мы всегда работаем с веткой с номером фиксации.

Теперь я хотел бы получить сообщение о фиксации, в котором номер билета уже будет заполнен.

Это должно быть возможно, потому что ветвь уже находится в шаблоне фиксации, но в комментариях, которые удаляются с помощью git. Я несколько раз просматривал документы и "сеть", но я должен искать неправильные слова, потому что я не могу их найти.

Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Вероятно, вы хотите настроить крючок prepare-commit-msg в локальном репозитории. Это может выглядеть так (скажем, что ветки называются "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"

Поместите что-то вроде этого (отмеченный исполняемый файл) в .git/hooks/prepare-commit-msg. Возможно, вам, конечно, придется отрегулировать и уточнить его.

Ответ 2

Похоже, вы должны это сделать, используя .git/hooks/pre-commit-msg

Простым примером этого может быть:

#!/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"

Это заставит вашу фиксацию начинаться с "Hello". Очевидно, так как это script, вы можете придумать магию, чтобы заполнить свой номер билета и любую другую информацию. Должен быть файл pre-commit-msg.sample в каталоге .git/hooks/, сообщающий вам, какие аргументы получает script, если вам нужно что-то еще.