如何审查依赖其他待合并MR且目标分支为master的MR代码变更
GitLab 存在前置依赖的 Merge Request 评审方案
目前GitLab暂不支持在固定MR目标分支为master的同时,自定义diff对比基准为其他分支,但可以通过以下方案实现完全等效的效果,且两个MR最终都会合并到master分支:
方案1:临时调整MR目标分支(GitLab免费版即可用,推荐使用)
这个方案只在评审阶段临时调整diff基准,不会影响最终合并目标:
- 提交
issue-2的MR时,先将目标分支设置为issue-1,此时GitLab自动生成的diff只会展示issue-2相对于issue-1的独有改动,完全不会包含已经在issue-1MR中评审过的代码,你可以直接在这个状态下完成issue-2代码改动的评审,相关评论都会保留在该MR下。 - 等
issue-1的MR评审通过、成功合并到master分支后,再将issue-2的MR目标分支修改回master。此时GitLab会重新生成diff,由于issue-1的代码已经合入master,新的diff只会展示issue-2的独有改动,确认无误后直接合并即可。
方案2:本地生成定制diff
如果不想改动MR的目标分支配置,也可以本地拉取代码后直接生成对比结果:
- 本地拉取最新的
issue-1和issue-2分支后,执行命令git diff issue-1 issue-2,输出的内容就是issue-2相对于issue-1的所有独有改动,你可以基于这个输出完成评审。
补充说明
你提到的GitLab Merge Dependency(合并依赖)功能本身是用来控制合并顺序的,作用是限制必须先合并issue-1才能合并issue-2,避免出现依赖缺失的问题,确实不负责调整diff的对比基准,可以配合方案1一起使用,防止误操作提前合入未满足依赖的MR。
内容的提问来源于stack exchange,提问作者hornobster
相关产品推荐
相关产品推荐

