首页/开发/Git 与协作速查/GitHub 必需评审与代码所有者评审
协作与代码评审75 条

GitHub 必需评审与代码所有者评审

受保护分支可要求合并前至少 N 名批准,并可额外要求代码所有者批准;两者叠加时需同时满足。

Git 与协作速查开发更新于 2026-10-13

必需评审与代码所有者

受保护分支可以要求合并前至少获得若干名批准,并可以额外要求代码所有者批准。两者叠加时必须同时满足:既达到批准人数,也要覆盖改动路径的代码所有者点头,缺一项都无法合入。

基本信息

设置位置仓库设置中的分支保护规则
常见开关合并前必须提交评审请求、必需批准数、要求代码所有者批准
组合效果既满足批准人数,又覆盖受影响路径的所有者
所有者来源仓库里声明归属关系的文件,按路径模式匹配
例外配置可允许管理员绕过,或允许特定角色自行合并

典型使用场景

  • 关键仓库要求至少两人把关改动
  • 按目录自动找到真正懂这块代码的评审人
  • 合规场景要求变更具备明确的批准记录
  • 大团队里避免出现「谁有空谁审」的随机分工
  • 外包与内部协作需要区分批准权限

常用示例

常用示例
gh api repos/{owner}/{repo}/branches/main/protection | head -40   # 查看保护规则
gh pr view 128 --json reviewDecision                             # 查看评审决定状态
gh pr view 128 --json reviews                                    # 查看已提交的评审记录
gh pr checks 128                                                 # 确认检查项状态

配置组合与效果

配置效果
仅必需批准数任意有权限的人批准即可
仅代码所有者评审覆盖路径的所有者必须批准
两者同时开启人数与所有者条件都要满足
允许管理员绕过紧急通道,审计时要重点关注
小团队启用代码所有者评审前,先确认每个目录都有可用负责人,否则会出现无人可批、评审请求长期卡住的瓶颈。
批准人数并非越多越好:人数过多会拉长等待时间,成员倾向于私下凑够批准,反而降低评审质量。
同一人多次提交批准不会重复计数,需要看到新的改动后重新批准才会生效,这一点在推送给改动之后尤其要注意。

易错点

  • 归属声明里写错路径或负责人已离职,评审请求找不到合法批准人,只能长期等待
  • 要求与合并队列叠加时,进入队列即视为锁定改动,再推送新提交会被重新验证
  • 管理员绕过长期开启且无人复核,审计时才发现关键改动其实未经评审
  • 把批准人数当成质量保证:人数只提供独立视角,改动内容仍需有人细看

数据来源与参考

  • GitHub Docs:About protected branches(require reviews)
  • GitHub Docs:About code owners
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌