git subtree自定义消息,用于压缩提交

时间:2019-03-18 06:51:08

标签: git git-subtree

我正在尝试向我的git项目添加一个子树。使用git subtree add --prefix <prefix> <repo.git> trunk --squash --message "JIRA: xyz",我可以修改子树添加生成的合并提交的提交消息。

*   4795f8f (HEAD, currbranch) JIRA xyz 
|\
| * 66d3640 Squashed 'prefix path' content from commit blah
* 9bd5f02 (origin/master) JIRA def:

但是,我还需要编辑git子树添加生成的 squashed 提交66d3640的提交消息。我无法找出任何方法来编辑该提交的味精以添加“ JIRA:abc”(并且在提交消息中没有JIRA的情况下,Bitbucket会引发错误)。

任何帮助都会很棒!谢谢!

1 个答案:

答案 0 :(得分:0)

执行“ git subtree add”后,可以使用git filter-branch重写压缩提交的消息,如下所示:

git filter-branch -f --msg-filter 'sed "s/Squashed/JIRA: xyz Squashed/g"' HEAD...HEAD~1

这将在提交消息的开头添加JIRA:xyz。

还可以完全替换第一行提交消息:

git filter-branch -f --msg-filter 'sed "s/Squashed.*/{new commit message}/g"' HEAD...HEAD~1

请记住,您需要在新的提交消息中转义一些字符。例如:

  • /\/逃脱了
  • ''\''逃脱了