首页/开发/CI/CD 与发布速查/必需评审(Required Review)
质量门禁与回滚51 条

必需评审(Required Review)

分支保护要求合并前获得指定数量的评审批准,并可在新提交后自动作废旧批准;目标是让变更在合入前经过独立评审。

CI/CD 与发布速查开发更新于 2026-10-13

必需评审是什么

分支保护要求合并前获得指定数量的评审批准,并可在新提交后自动作废旧批准;目标是让变更在合入前经过独立于作者的第二双眼睛。批准数量按风险设置,代码所有者文件可要求特定路径必须由对应团队批准,未解决的评审对话可以阻止合并,形成完整的合并门禁。评审通过与自动检查共同构成合并门禁,缺一不可。

基本信息

批准数量按风险设置,如 1 到 2 人
失效策略新提交自动驳回旧批准
代码所有者特定路径须由对应团队批准
对话解决未解决的评审对话可阻止合并
适用范围保护分支上的合并请求
例外管理高危变更走记录在案的例外流程,事后补审

保护项与效果

保护项作用防住的问题
批准数合并前需指定人数批准单人直线合入
失效批准新提交后旧批准作废审旧代码、合新代码
代码所有者路径级强制评审核心模块被绕过
对话解决未决讨论阻断合并问题被无声忽略

查看分支保护要求

查看分支保护要求
# 查看分支保护的评审要求
gh api repos/OWNER/REPO/branches/main/protection \
  --jq '.required_pull_request_reviews.required_approving_review_count'
# 查看是否要求代码所有者评审
gh api repos/OWNER/REPO/branches/main/protection \
  --jq '.required_pull_request_reviews.require_code_owner_reviews'

典型使用场景

  • 主干分支保护:所有变更经独立评审后合入,防止直线提交
  • 核心模块治理:用代码所有者规则强制架构或安全团队评审
  • 变更后复审:新提交使旧批准失效,保证审的就是最终版本
  • 紧急通道管理:保留受控的紧急合并通道,事后补齐评审并记录原因
  • 团队协作规范:把批准数量与对话解决要求一并绑定到分支保护
  • 新人引导:关键变更经评审获得上下文输入,减少隐性知识断层
紧急变更保留受控通道:事后补齐评审并记录原因。
允许自批准会削弱门禁意义:作者点自己批准等于没有独立评审。

易错点

  • 允许自批准:门禁意义减弱
  • 变更提交后旧批准不失效:审的是旧代码,合的是新代码
  • 保护规则只覆盖部分分支:发布分支与热修分支成为缺口
  • 评审批量草率通过:批准沦为仪式,需要抽样复盘评审质量

数据来源与参考

  • GitHub Docs《About protected branches》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌