← 中文资源

简体中文版本

通过 GitHub API 强制分支保护规则

在主分支要求 PR 评审与状态检查,强制线性历史,并用一次 API 调用审计规则,漂移即让 CI 失败。

阅读英文原文

保护主分支,再审计

分支保护规则若能被悄悄移除就形同虚设。先通过 API 应用规则,再加一个 CI 作业重新读取保护配置,若必需检查或评审数发生漂移则失败。

gh api repos/:owner/:repo/branches/main/protection

让审计可重复

把期望的保护配置作为 JSON 存入仓库。定时任务比对线上保护与该文件,漂移则开 issue。这能抓住管理员为热修临时关闭规则却忘记恢复的情况。

预期结果

对主分支的强制推送被拒绝,不足两个批准的 PR 被阻塞,失败的状态检查阻止合并。审计作业在规则与文件一致时保持绿色,一旦有人放松规则立即失败。管理员同样受约束,需开启 enforce_admins。状态检查上下文名称必须与 CI 实际输出完全一致,否则会被静默跳过。