首页/开发/代码质量与评审速查/GitLab MR 审批规则要点
代码评审64 条

GitLab MR 审批规则要点

GitLab MR 的审批机制:Approval Rules 可要求指定人数或团队批准,可与 Code Owners 联动;任一评审者请求修改即阻止合并。

GitLab MR 审批机制

GitLab 用合并请求(MR)承载评审,审批行为由 Approval Rules 与 Code Owners 共同约束:可以要求指定人数或指定团队批准,某些路径的改动必须由对应 owner 批准;任一评审者请求修改都会阻止合并,直到问题被解决。这些规则的作用是兜底,确保任何改动至少经过团队约定的眼睛数量。

基本信息

审批规则按目标分支配置所需批准人数(如 1 至 2 人)
代码所有者指定路径的改动必须由对应 owner 批准
阻塞机制任一评审者请求修改即阻止合并,直到解决
重置策略可配置推送新提交后是否重置已有批准

常用配置要点

  • 按目标分支设置批准数:主干严格、特性分支宽松,避免一刀切。
  • Code Owners 规则覆盖高风险目录(支付、权限、数据迁移)。
  • 开启「推送新提交后重置批准」:防止未经评审的新代码沿用旧批准。
  • 要求解决所有讨论才能合并:避免口头已解决但无记录的处置。
  • 删除或修改审批规则本身也要走评审:规则放宽等于降低整个仓库的门槛。

规则强度与代价

配置好处代价
要求多人批准关键改动有更多视角小改动也要排队,团队可能绕流程
必须 owner 批准领域专家把关owner 忙时成为瓶颈
重置旧批准批准始终对应当前代码评审者需要重复确认增量
要求解决讨论处置有记录作者忘记回复时改动会被卡住
规则的价值在于兜底:确保任何改动至少有团队约定数量的眼睛,而不是替代人工判断。
开启「重置批准」后若评审者不看增量就点批准,规则会退化为形式,改动实际仍未被复核。
紧急修复可以走例外通道,但要在事后补评审:绕过硬性规则的动作需要留痕,否则例外会变成常态。

易错点

  • 规则过严(要求三人批准):小改动也被堵住,团队开始想办法绕流程。
  • 开启重置但评审者不看增量:重复点击批准成为习惯动作。
  • Code Owners 指向已解散的团队:评审请求无人响应,改动长期挂起。
  • 把审批规则当质量保证:规则只能保证有人看过,看不看得懂取决于人的投入。

数据来源与参考

  • GitLab Docs · Merge request approvals
  • GitLab Docs · Code Owners
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌