文章版本: Enterprise Server 2.17
配置受保护分支和必需状态检查
您可以启用受保护分支来限制分支操作,以及在分支合并到拉取请求中之前或在将本地分支上的提交推送到受保护远程分支之前强制执行必需状态检查。
任何对仓库有管理员权限的人都可以启用分支限制。
为仓库启用受保护分支
- 在 GitHub Enterprise 上,导航到仓库的主页面。
- 在仓库名称下,单击 Settings(设置)。
- 在左侧菜单中,单击 Branches(分支)。
- 在“Branch protection rules(分支保护规则)”旁边,单击 Add rule(添加规则)。
- 在“Branch name pattern(分支名称模式)”下,输入您要保护的分支名称或模式。
- 单击 Create(创建)。
必需状态检查的类型
必需状态检查的类型 | 设置 | 合并要求 | 考虑因素 |
---|---|---|---|
严格 | 选中 Require branches to be up-to-date before merging(合并前需要分支保持最新状态)复选框。 | 在合并之前,必须使用基础分支使分支保持最新状态。 | 这是必需状态检查的默认行为。 可能需要更多构建,因为在其他协作者将拉取请求合并到受保护基础分支后,您需要使头部分支保持最新状态。 |
宽松 | 不选中 Require branches to be up-to-date before merging(合并前需要分支保持最新状态)复选框。 | 在合并之前,不必使用基础分支使分支保持最新状态。 | 您将需要更少的构建,因为在其他协作者合并拉取请求后,您不需要使头部分支保持最新状态。 如果存在与基础分支不兼容的变更,则在合并分支后,状态检查可能会失败。 |
已禁用 | 不选中 Require status checks to pass before merging(合并前需要状态检查通过)复选框。 | 分支没有合并限制。 | 如果未启用必需状态检查,协作者可以随时合并分支,无论它是否使用基础分支保持最新状态。 这增加了不兼容变更的可能性。 |
启用必需状态检查
- 在 GitHub Enterprise 上,导航到仓库的主页面。
- 在仓库名称下,单击 Settings(设置)。
- 在左侧菜单中,单击 Branches(分支)。
- 在“Branch protection rules(分支保护规则)”旁边,单击 Add rule(添加规则)。
- 在“Branch name pattern(分支名称模式)”下,输入您要保护的分支名称或模式。
- 选中 Require status checks to pass before merging(合并前必需状态检查通过)。
- 从可用状态检查列表中,选择您想要设为必需的状态检查。
- 视情况可选择 Include administrators(包括管理员)。 这将强制执行所有配置的仓库管理员限制。
- 视情况可以取消选中 Require branches to be up to date before merging(在合并前要求分支保持最新状态)。 如果选中,则可确保使用基础分支上的最新代码来测试分支。
- (可选)选择 Restrict who can push to this branch(限制谁可以推送到此分支)。
- 搜索并选择将有权推送到受保护分支的人员或团队。
- 单击 Create(创建)。
提示:要成功将拉取请求合并到已启用必需状态检查的基本分支中,必须使用基本分支更新拉取请求的头部分支。