2012-04-23 3 views
1

У меня есть требование добавить «билет: N» для фиксации сообщений, где N - номер билета, над которым я работаю. Но я все время забываю о префиксе и вспоминаю об этом только 5-6 фиксаций позже, поэтому --amend не поможет. Можно ли установить какое-то предупреждение, поэтому git будет предупреждать меня каждый раз, когда я забываю добавить префикс?Префикс префикса сообщения в git

ответ

1

Чтобы убедиться, что каждое сообщение о фиксации соответствует стандартной форме, вы можете использовать the commit-msg hook.

Но если вы хотите отредактировать сообщение фиксации некоторой фиксации, которая не является самой последней, вы можете сделать это тоже с помощью git rebase -i, считая, что вы ее еще не нажали.

+0

Являются ли крючки рабочими каждый раз, независимо от того, где я называю их IDE или каким-то инструментом графического интерфейса? – Shark

+0

Думаю, они должны, но я не пробовал. – svick

1

Вы можете использовать filter-branch в комбинации с --msg-filter, чтобы обновить ряд коммитов.

Например, если вы хотите, чтобы предварять ticket:N на каждое сообщение фиксации с головы до хххххх:

git filter-branch -f --msg-filter 'echo "ticket:N " && cat' xxxxxx..HEAD

Вы также можете добавить к сообщению фиксации простым поворотом echo и cat:

git filter-branch -f --msg-filter 'cat && echo "ticket:N"' xxxxxx..HEAD

+1

Незначительная проблема с этим подходом заключается в том, что он добавит новую строку между префиксом и остальной частью сообщения. Вы можете избежать этого, используя вместо этого «билет» printf: N «&& cat». (echo -n не очень портативен и доступен только в некоторых оболочках). – AlexT

Смежные вопросы