在压缩提交时合并冲突会毁掉我的提交消息
我通常使用git的工作流程是创建一个新的功能分支,使用频繁的提交进行一些工作,然后在功能运行和/或稳定时重新合并到开发分支中。
通常,当我做git merge --squash feature-branch
,我会得到一个很好的“压扁的以下提交”消息,它会自动填充来自特性分支的所有提交消息。
但是,如果存在任何合并冲突(例如,我在完成此项工作时完成并合并了另一个特性),我似乎失去了来自分支的所有提交消息。 自动填充的提交消息填充冲突,但不填充提交消息。 我的提交信息去了哪里? 我可以让他们回来吗?
这并不直接回答你的问题,但你应该能够避免冲突。
考虑做一个
git rebase master topic
在执行合并之前。 这个页面的DESCTIPTION部分应该是有帮助的。这也可以避免对壁球的需求,因为交互式底图可以让你压缩你选择的提交。
编辑:另请参见:在混帐,合并--squash和rebase之间有什么区别?
是的,你可以得到壁球提交信息。 它存储在.git / SQUASH_MSG中。
您可以使用以下命令将其用作模板:
git commit -t .git/SQUASH_MSG
没有什么是真正与Git一起失去的。 功能分支上的提交列表可以通过以下方式获得:
git cherry feature-branch
然后简单地将其传递给git cat-file
:
git cherry feature-branch | cut -f2 -d' ' | git cat-file --batch
你需要清理输出。 我不知道一种更好地自动化的方法。
链接地址: http://www.djcxy.com/p/26077.html上一篇: Merge conflicts ruin my commit message while squashing commits