关于必需状态检查
受保护分支可用于具有 GitHub Free 的公共仓库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有仓库。
必需状态检查确保在协作者可以对受保护分支进行更改前,所有必需的 CI 测试都已通过。
如果您在仓库中实施了分支保护,便可设置必需状态检查。 更多信息请参阅“配置受保护分支”和“启用必需状态检查”。必须状态检查可以是检查或状态。 更多信息请参阅“关于状态检查”。
在启用必需状态检查后,必须通过所有必需状态检查后,分支才可合并到受保护分支。 任何提交都必须推送到另一个分支,在通过所有必需状态检查后合并或直接推送到受保护分支。
如果您有名称相同的检查和状态,并且选择该名称作为必需状态检查,则检查和状态都是必需的。 更多信息请参阅 GitHub 开发者文档中的“Checks”。
在设置必需状态检查后,您的分支在合并之前必须使用基本分支更新。 这可确保您的分支已经使用基本分支的最新代码做过测试。 如果您的分支过期,则需要将基本分支合并到您的分支。
注:您也可以使用 Git 变基以基本分支更新您的分支。
在通过所有必需状态检查之前,无法向受保护分支推送本地更改。 反而会收到类似如下的错误消息:
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Required status check "ci-build" is failing
注:最新且通过必需状态检查的拉取请求可以本地合并,并且推送到受保护分支。 此操作无需对合并提交本身运行状态检查。
即使必需状态检查失败或待处理,仓库管理员也可以合并受保护分支。 您可以要求管理员遵循必需状态检查。
即使受保护分支过期,管理员也可使用基本分支合并该分支。
根据您是否希望在合并前使用基本分支更新您的分支,您可以设置宽松或严格的状态检查。
延伸阅读
- "关于状态检查"