我需要在提交消息前添加“ticket:N”,其中N是我正在处理的ticket的编号。但是我总是忘记这个前缀,并且只在5-6次提交后才想起它,所以--amend没有帮助。是否可以设置一些警告,这样git就会在我每次忘记添加前缀时发出警告?
--amend
deyfvvtc1#
要确保每个提交消息都遵循某种标准格式,可以使用commit-msg钩子。但是如果你想编辑某个不是最近提交的提交消息,你也可以使用git rebase -i来完成,假设你还没有推送它。
commit-msg
git rebase -i
jtoj6r0c2#
您可以结合使用filter-branch和--msg-filter来更新一系列提交。例如,如果你想将ticket:N添加到从HEAD到xxxxxx的每个提交消息中:git filter-branch -f --msg-filter 'printf "ticket:N " && cat' xxxxxx..HEAD您也可以通过简单地颠倒printf和cat来附加到提交消息:git filter-branch -f --msg-filter 'cat && printf "ticket:N"' xxxxxx..HEAD
filter-branch
--msg-filter
ticket:N
git filter-branch -f --msg-filter 'printf "ticket:N " && cat' xxxxxx..HEAD
printf
cat
git filter-branch -f --msg-filter 'cat && printf "ticket:N"' xxxxxx..HEAD
hfyxw5xn3#
如果你特别想在提交中添加JIRA票号,你可以使用https://tjdane.medium.com/add-a-jira-ticket-to-a-batch-of-old-commits-67557fb42d3e方法
3条答案
按热度按时间deyfvvtc1#
要确保每个提交消息都遵循某种标准格式,可以使用
commit-msg
钩子。但是如果你想编辑某个不是最近提交的提交消息,你也可以使用
git rebase -i
来完成,假设你还没有推送它。jtoj6r0c2#
您可以结合使用
filter-branch
和--msg-filter
来更新一系列提交。例如,如果你想将
ticket:N
添加到从HEAD到xxxxxx的每个提交消息中:git filter-branch -f --msg-filter 'printf "ticket:N " && cat' xxxxxx..HEAD
您也可以通过简单地颠倒
printf
和cat
来附加到提交消息:git filter-branch -f --msg-filter 'cat && printf "ticket:N"' xxxxxx..HEAD
hfyxw5xn3#
如果你特别想在提交中添加JIRA票号,你可以使用https://tjdane.medium.com/add-a-jira-ticket-to-a-batch-of-old-commits-67557fb42d3e方法