配置受保护分支和必需状态检查
仓库管理员可以启用受保护分支来限制分支操作,以及在分支合并到拉取请求中之前或在将本地分支上的提交推送到受保护远程分支之前强制执行必需状态检查。
为仓库启用受保护分支
-
在 GitHub Enterprise 上,导航到仓库的主页面。
-
在仓库名称下,单击 Settings(设置)。
-
在左侧菜单中,单击 Branches(分支)。
-
在 Protected Branches 下,使用下拉菜单选择要标记为受保护的分支。
-
选择 Protect this branch(保护此分支)。
-
单击 Save changes(保存更改)。
必需状态检查的类型
必需状态检查的类型 | 设置 | 合并要求 | 考虑因素 |
---|---|---|---|
严格 | 选中 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(分支)。
-
在 Protected Branches(受保护分支)下,使用下拉菜单选择要标记为必需状态检查的分支。
-
选中 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。
-
搜索并选择有权推送到受保护分支的人员或团队。
-
单击 Save changes(保存更改)。
提示:要成功将拉取请求合并到已启用必需状态检查的基本分支中,拉取请求的头部分支必须与基本分支保持一致。