首页/开发/CI/CD 与发布速查/必需状态检查(Status Checks)
质量门禁与回滚51 条

必需状态检查(Status Checks)

把 CI 作业设为分支保护的必需检查:全部通过才允许合并;注意作业命名与路径过滤,避免出现永远处于等待状态的检查项。

CI/CD 与发布速查开发更新于 2026-10-12
配置位置分支保护规则中勾选必需检查
命名使用稳定的作业名,改名等于更换检查项
路径过滤被路径过滤跳过的作业可能显示为等待状态
合并队列与 merge queue 联用时按队列中的结果判定

设置必需检查(gh 命令示例)

设置必需检查(gh 命令示例)
gh api -X PUT repos/OWNER/REPO/branches/main/protection \
  -f 'required_status_checks[strict]=true' \
  -f 'required_status_checks[contexts][]=ci/test'
作业既做路径过滤又设为必需检查:被跳过的提交会卡在等待状态无法合并。

易错点

  • 作业改名后未同步分支保护:检查项长期等待旧名称,合并被冻结
  • strict 模式搭配高频主干更新:每次主干前进都要求重跑,注意排队策略

数据来源与参考

  • GitHub Docs《About required status checks》
  • GitHub Docs《Handling skipped but required checks》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌