我们可以以某种方式将合并请求的所有提交“合并”为一个

时间:2017-11-01 08:30:59

标签: git gitlab git-merge

我们的Gitlab有时会有一些合并请求,只有一个MR有30个提交,这使得代码审查变得非常困难。我们能不能将这30个提交“组合”或“合并”到一个提交中,即使这个MR已经在Gitlab上了?

可行吗?我希望这是有道理的。感谢

2 个答案:

答案 0 :(得分:1)

拉取请求无法更改(它代表您不拥有的树),但您可以签出代表拉取请求的分支并合并所有提交的压缩(git merge --squash)。

尽管如此,我建议不要这样做:如果提交是分开进行的,这可能意味着已经完成了一些增量工作。您可能认为,现在工作完成后,增量视图无用,但这恰恰相反:如果您遇到回归或者如果您在将来发现一些尴尬的代码 ,您可能会尝试找到何时和为什么代码被合并,并且有一些小提交将帮助您更容易理解6000线的大量提交“合并功能XXXX”。 BTW审查小补丁,如果效率远高于大补丁(我并不是说它更快,我的意思是你在修改很小的时候会发现更多的问题以及明确提交的意图)。

那就是说,许多人使用壁球技术,因此我猜它可以被视为“本地良好实践”,毕竟,一个团队决定如何一起工作。

答案 1 :(得分:0)

如果您使用GitLab,您可以使用合并请求的Changes选项卡,并查看所有提交的更改(即合并实际应用的更改)。这不是你想要的吗?

如果您想按照评论中的建议进行压缩,我无法(我知道)直接在Gitlab中执行此操作。因此,您必须在本地检查您的分支,squash您的提交(如@Hatik提到的this question中所述)和(强制)推送。现有的合并请求将自动更新,仅包含一个压缩的提交。

编辑:您不必在一次提交中压缩所有更改。当然,也可以将30个提交分组为较少数量的较大提交。

相关问题