更改 git 合并分支冲突消息 [重复]
Posted
技术标签:
【中文标题】更改 git 合并分支冲突消息 [重复]【英文标题】:Change git merge branch conflict message [duplicate] 【发布时间】:2020-07-22 07:34:24 【问题描述】:在合并有冲突的分支后,git 会自动生成提交消息,如下所示:
将分支 branchname 合并到 branchname
我目前正在使用的远程仓库获得了提交消息验证,并且只传递特定模板的消息。如果我使用之前给出的提交消息推送分支,它会被拒绝,因为它与模板不匹配。 Intellij Idea 只允许重写我编写的提交,并且调用 git rebase -i HEAD~3 不会在打开的编辑器中显示该提交。
如果有办法重命名/更改提交消息?谢谢。
【问题讨论】:
【参考方案1】:试试git rebase -p -i HEAD~3
。
手册页说:
-p, --preserve-merges
Recreate merge commits instead of flattening the history by
replaying commits a merge commit introduces. Merge conflict
resolutions or manual amendments to merge commits are not
preserved.
This uses the --interactive machinery internally, but combining it
with the --interactive option explicitly is generally not a good
idea unless you know what you are doing (see BUGS below).
不过你应该没事。 BUGS 部分内容如下:
... Editing commits and rewording their commit messages should work fine,
but attempts to reorder commits tend to produce counterintuitive results.
例如(下面的git hist
是git log
的别名,有几个选项可以很好地显示):
atsaloli@Aleksey_X1_C2G:~/git/***-61125266$ git hist
* ecbdcc5 2020-04-09 | Add pineapple (HEAD) [Aleksey Tsalolikhin]
* f9353df 2020-04-09 | Merge branch 'mybranch' into HEAD [Aleksey Tsalolikhin]
|\
| * aadd990 2020-04-09 | add cherry (mybranch, master) [Aleksey Tsalolikhin]
|/
* 166d386 2020-04-09 | Add pear to fruit list [Aleksey Tsalolikhin]
* 6a64ac2 2020-04-09 | Add bnana to fruit list [Aleksey Tsalolikhin]
* f42522f 2020-04-09 | Initialize fruit list [Aleksey Tsalolikhin]
atsaloli@Aleksey_X1_C2G:~/git/***-61125266$
还有:
atsaloli@Aleksey_X1_C2G:~/git/***-61125266$ git rebase -p -i HEAD~4
...
pick 6a64ac2 Add bnana to fruit list
pick 166d386 Add pear to fruit list
pick aadd990 add cherry
pick f9353df Merge branch 'mybranch' into HEAD
pick ecbdcc5 Add pineapple
现在我可以编辑合并提交消息了。
顺便说一句,看起来这个问题与Git: How to edit/reword a merge commit's message? 重复
【讨论】:
【参考方案2】:默认情况下git rebase -i
不包括合并提交。它试图智能地创建线性历史,而不是重现合并。
要编辑您的提交消息,您可以运行git commit --amend
,这将允许您在默认文本编辑器中编辑消息或git commit --amend -m "Write your message here"
直接在命令行上编写您的消息。
【讨论】:
【参考方案3】:您是否尝试过 git commit --amend
?那应该可以让您在上次提交时修改消息。
【讨论】:
抱歉,必须在邮件中包含此内容。未尝试 --amend 因为这不是最后一条提交消息,据我所知,它只更改最后一条。 知道了,谢谢@nbelousov。是的,你说得对,git commit --amend
改变了最后一个。以上是关于更改 git 合并分支冲突消息 [重复]的主要内容,如果未能解决你的问题,请参考以下文章