我们能以某种方式 "merge" 将合并请求的所有提交合并为一个吗
Can we somehow "merge" all commits of a merge request into one
有时我们的 Gitlab 上有一些合并请求在一个 MR 中有 30 个提交,这使得代码审查非常困难。我们能否以某种方式 "group" 或 "merge" 将所有这 30 个提交合并为一个提交,即使这个 MR 已经在 Gitlab 上了?
可行吗?我希望这是有道理的。谢谢
如果您使用 GitLab,您可以使用合并请求的 Changes
选项卡并查看合并的所有提交的更改(即合并实际应用的更改)。这不是你想要的吗?
如果你想按照评论中的建议进行压缩,没有办法(我知道)直接在 Gitlab 中执行此操作。因此,您必须在本地检查您的分支,squash
您的提交(如@Hatik 提到的 this question 中所述)和(强制)推送。现有的合并请求将自动更新,仅包含一个压缩的提交。
编辑:您不必在一次提交中压缩所有更改。当然,也可以将您的 30 次提交分组为较少数量的较大提交。
无法更改拉取请求(它代表您不拥有的树),但您可以检出代表拉取请求的分支并合并所有提交的压缩(git 合并 --壁球)。
不过,我建议不要这样做:如果提交是单独完成的,这可能意味着完成了一些增量工作。你可能会认为,现在工作已经完成,增量视图没有用,但事实恰恰相反:如果你经历了回归或者如果你发现一些笨拙的代码将来,你可能会尝试找出合并代码的时间和原因为什么,与 6000 行的巨大提交 "merge feature XXXX" 相比,小的提交将帮助您更容易理解。
顺便说一句,审查小补丁是否比大补丁更有效(我不是说它更快,我的意思是当修改很小并且提交者的意图明确时你会发现更多问题)。
也就是说,很多人都使用挤压技术,所以我想它可以看作是"local good practices",毕竟一个团队决定了它想如何合作。
有时我们的 Gitlab 上有一些合并请求在一个 MR 中有 30 个提交,这使得代码审查非常困难。我们能否以某种方式 "group" 或 "merge" 将所有这 30 个提交合并为一个提交,即使这个 MR 已经在 Gitlab 上了?
可行吗?我希望这是有道理的。谢谢
如果您使用 GitLab,您可以使用合并请求的 Changes
选项卡并查看合并的所有提交的更改(即合并实际应用的更改)。这不是你想要的吗?
如果你想按照评论中的建议进行压缩,没有办法(我知道)直接在 Gitlab 中执行此操作。因此,您必须在本地检查您的分支,squash
您的提交(如@Hatik 提到的 this question 中所述)和(强制)推送。现有的合并请求将自动更新,仅包含一个压缩的提交。
编辑:您不必在一次提交中压缩所有更改。当然,也可以将您的 30 次提交分组为较少数量的较大提交。
无法更改拉取请求(它代表您不拥有的树),但您可以检出代表拉取请求的分支并合并所有提交的压缩(git 合并 --壁球)。
不过,我建议不要这样做:如果提交是单独完成的,这可能意味着完成了一些增量工作。你可能会认为,现在工作已经完成,增量视图没有用,但事实恰恰相反:如果你经历了回归或者如果你发现一些笨拙的代码将来,你可能会尝试找出合并代码的时间和原因为什么,与 6000 行的巨大提交 "merge feature XXXX" 相比,小的提交将帮助您更容易理解。 顺便说一句,审查小补丁是否比大补丁更有效(我不是说它更快,我的意思是当修改很小并且提交者的意图明确时你会发现更多问题)。
也就是说,很多人都使用挤压技术,所以我想它可以看作是"local good practices",毕竟一个团队决定了它想如何合作。