首页 > 解决方案 > 如何挑选然后将分支标记为合并而无需添加到提交历史记录?

问题描述

我们以前使用svn。我们从“发布”分支构建和发布,然后有选择地合并回主干(在 TortoiseSVN 中,通过在合并期间检查或取消检查提交)。现在,在转换为 git 后,我​​们做同样的事情,但合并如下:

哪个做我们想要的,至少在功能上。然而,由于“我们的”合并中的提交实际上是“合并”的(没有改变任何东西),它们最终会出现在 master 的提交历史中——这使得提交历史非常混乱。

有没有办法抑制或自定义将“合并”提交写入目标分支(在这种情况下是主分支)?抑制会很好,但是在提交消息之前加上“忽略,合并为'我们的':”或类似的东西至少会有所帮助。

编辑:从@phd 的回答来看,很明显我没有正确读取生成的提交日志,但是会将日志--first-parent master过滤到我想要的内容。

标签: gitmergegitlab

解决方案


最终出现在 master 的提交历史中

这取决于您查看所述提交历史的方式。命令

git log --first-parent master

显示仅属于 master 的提交。

这使得提交历史非常混乱。

我建议您适应合并的分支,之后它们就不会被混淆了。合并在 git 中是一个相当标准的操作,所以让自己适应合并的分支是你能做的最好的事情。

有没有办法抑制或自定义将“合并”提交写入目标分支

没有。顺便说一句git,不会将合并分支中的提交写入 master ——它创建一个简单地指向两个分支的合并提交,这就是 git 历史查看器(包括git log)从合并分支中发现提交的方式。


推荐阅读