如何避免单人修改Github PR后自行评审并合并至master分支?
解决GitHub Master分支单人违规合并的方案
以下是几个替代“设置2个评审数量”的可行方案,针对性解决你遇到的场景:
1. 启用「代码所有者评审强制规则」
- 在仓库中添加
CODEOWNERS文件,指定特定团队或成员为代码所有者(比如* @your-org/core-reviewers表示所有文件需该团队评审),文件可放在根目录、.github/或docs/文件夹下。 - 在分支保护规则中开启「需要来自代码所有者的评审」选项,这样任何PR必须经过代码所有者的批准才能合并——即使用户B修改了他人的PR并自评,也无法绕开代码所有者的审核环节。
2. 限制提交者不能自评PR
- 直接在分支保护规则里开启「要求提交者不能批准自己的拉取请求」选项(GitHub原生支持)。
- 这个规则能直接阻断“用户B修改PR后自行评审批准”的操作,配合原有的1个评审要求,必须由其他非提交者的人员完成评审,才能合并PR。
3. 结合线性历史与严格推送限制
- 开启分支保护的「禁止直接推送到受保护分支」和「所有更改必须通过拉取请求合并」,彻底杜绝直接修改master的可能。
- 同时开启「要求线性提交历史」,确保合并记录可追溯,避免有人通过强制推送篡改历史,进一步加固分支安全。
4. 自定义GitHub Actions拦截违规操作
- 编写一个GitHub Actions工作流,在PR创建或更新时触发检查:
- 验证PR的提交者是否与评审者为同一人;
- 检查是否有来自指定评审池的有效批准;
- 若不符合条件,自动标记PR为不可合并状态,或添加自定义标签提醒管理员。
内容的提问来源于stack exchange,提问作者user34380
相关产品推荐
相关产品推荐

