我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

此版本的 GitHub Enterprise 已停止服务 2020-11-12. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

关于必需状态检查

必需状态检查确保在协作者可以对受保护分支进行更改前,所有必需的 CI 测试都已通过。

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.

本文内容

关于必需状态检查

如果您在仓库中实施了分支保护,便可设置必需状态检查。 如果您在仓库中实施了分支保护,便可设置必需状态检查。 更多信息请参阅“配置受保护分支”和“启用必需状态检查”。 更多信息请参阅“关于状态检查”。

在启用必需状态检查后,必须通过所有必需状态检查后,分支才可合并到受保护分支。 所有必需状态检查通过后,必须将任何提交推送到另一个分支,然后合并或直接推送到受保护分支。

合并受保护分支

注:对仓库具有写入权限的任何个人或集成可以在仓库中设置任何状态检查的状态。 GitHub Enterprise Server 无法验证检查的作者是否被授权创建具有特定名称的检查或修改现有状态。 在合并拉取请求之前,应验证合并框中列出的每个状态的作者是否符合预期。

即使必需状态检查失败或待处理,仓库管理员也可以合并受保护分支。 您可以要求管理员接受所需的状态检查。 更多信息请参阅“启用必需状态检查”。

管理员合并受保护分支

即使受保护分支过期,管理员也可使用基本分支合并该分支。

必需状态检查设置

根据您是否希望在合并前使用基本分支更新您的分支,您可以设置宽松或严格的状态检查。 更多信息请参阅“必需状态检查的类型”。

必需状态检查故障排除

如果您有名称相同的检查和状态,并且选择该名称作为必需状态检查,则检查和状态都是必需的。 更多信息请参阅“检查”。

在设置必需状态检查后,您的分支在合并之前必须使用基本分支更新。 这可确保您的分支已经使用基本分支的最新代码做过测试。 如果您的分支过期,则需要将基本分支合并到您的分支。

注:您也可以使用 Git 变基以基础分支更新您的分支。 更多信息请参阅“关于 Git 变基”。

过期分支

在通过所有必需状态检查之前,无法向受保护分支推送本地更改。 反而会收到类似如下的错误消息:

remote: error: GH006: Protected branch update failed for refs/heads/main.
remote: error: Required status check "ci-build" is failing

注:最新且通过必需状态检查的拉取请求可以本地合并,并且推送到受保护分支。 此操作无需对合并提交本身运行状态检查。

延伸阅读