跳到主要内容

Code Owners 审查设置

在仓库设置中,可以对 CODEOWNERS 审查行为进行更细粒度的配置。进入「仓库设置 → 合并请求 → CODEOWNERS 审查设置」即可找到以下选项。

设置项说明

审查计数模式

设置 CODEOWNERS 审查如何计入最小审查人数门禁。

模式说明
合并计数模式CODEOWNERS 审查人数与普通审查人数合并计算
独立计数模式CODEOWNERS 审查不计入总审查人数,普通审查单独计算

Code Owner 协同审批模式

控制 CODEOWNERS 规则中多人指派时的审批逻辑。

模式说明
启用每行规则中任意一名 Code Owner 批准即视为该规则通过
关闭每行规则中所有 Code Owner 都必须批准才能通过

门禁判断逻辑

门禁是否通过的判断分为两个步骤:

第一步:CODEOWNERS 规则是否通过

由「协同审批模式」决定:

协同审批规则通过条件
启用任一 Owner 批准
关闭所有 Owner 都批准

如果 CODEOWNERS 规则未通过 → 门禁直接不通过,不再判断第二步。

第二步:审查人数是否满足

由「计数模式」决定(前提是第一步已通过):

计数模式满足条件
合并计数CODEOWNERS 审查人数 + 普通审查人数 ≥ 最小审查人数
独立计数普通审查人数 ≥ 最小审查人数

设置组合效果

示例场景

CODEOWNERS 文件:

*.js @user1 @user2

PR 变更: 修改了 app.js

最小审查人数: 2

组合效果对照表

协同审批计数模式CODEOWNERS 规则审查人数情况门禁结果说明
启用合并计数@user1 通过CODEOWNERS 1人 + 普通 1人通过1+1=2 ≥ 2
启用合并计数@user1 通过CODEOWNERS 1人 + 普通 0人不通过1+0=1 < 2
启用合并计数@user1 和 @user2 都通过CODEOWNERS 2人 + 普通 0人通过2+0=2 ≥ 2
启用独立计数@user1 通过普通 2人通过普通 2 ≥ 2
启用独立计数@user1 通过普通 1人不通过普通 1 < 2
关闭合并计数@user1 和 @user2 都通过CODEOWNERS 2人 + 普通 0人通过2+0=2 ≥ 2
关闭合并计数@user1 和 @user2 都通过CODEOWNERS 2人 + 普通 1人通过2+1=3 ≥ 2
关闭合并计数@user1 通过,@user2 未通过-不通过前提不满足,直接不通过
关闭独立计数@user1 和 @user2 都通过普通 2人通过普通 2 ≥ 2
关闭独立计数@user1 通过,@user2 未通过-不通过前提不满足,直接不通过

适用场景

组合适用场景
协同审批 + 合并计数团队协作,灵活审查:CODEOWNERS 按行最少人数,与普通审查合并计算
协同审批 + 独立计数分工明确:CODEOWNERS 规则通过即可,普通审查需满足人数要求
非协同 + 合并计数关键代码严格审查,所有 Owner 必须批准,可与普通审查合并计算
非协同 + 独立计数完全分离:所有 Owner 必须批准,普通审查也需满足人数要求