2012-04-23 218 views
1

我有一个要求,在提交消息前加上“ticket:N”,其中N是我正在处理的故障单的编号。但我一直忘记前缀,并记住它只有5-6提交后,所以--amend不会帮助。是否可以设置一些警告,所以每次我忘记添加前缀时,git都会警告我?在git中提交消息前缀

回答

1

要确保每个提交消息都遵循某种标准格式,您可以使用the commit-msg hook

但是,如果您想编辑某个不是最近的提交的提交消息,则可以使用git rebase -i这样做,假设您尚未推送它。

+0

钩子是否每次都工作,无论我称之为IDE还是某种GUI工具? – Shark 2012-04-23 12:28:46

+0

我认为他们应该,但我没有尝试。 – svick 2012-04-23 12:31:23

1

您可以结合使用filter-branch--msg-filter组合更新一系列的提交。

例如,如果你想在前面加上ticket:N到每一个承诺的消息,从头部到XXXXXX:

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

您也可以附加到提交信息通过简单地颠倒echocat

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

+1

这种方法的一个小问题是它会在前缀和消息的其余部分之间添加一个换行符。您可以通过使用'printf'ticket:N“&& cat'作为过滤器来避免这种情况。 (echo -n不是很便携,只能在某些shell中使用)。 – AlexT 2016-12-04 16:02:42