配置受保护分支和必需状态检查
You can enable protected branches for limiting branch manipulation, as well as enforce required status checks before a branch is merged in a pull request or before commits on a local branch can be pushed to the protected remote branch.
Anyone with admin permissions to a repository can enable branch restrictions.
为仓库启用受保护分支
-
在 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(合并前必需状态检查通过)。
-
From the list of available status checks, select the ones you want to make required.
-
(可选)选中 Include administrators(包括管理员)。这将对仓库管理员实施必需状态检查。
-
视情况可以取消选中 Require branches to be up to date before merging(在合并前要求分支保持最新状态)。 如果选中,则可确保使用基础分支上的最新代码来测试分支。
-
视情况可以选中 Restrict who can push to this branch。
-
Search for and select the users or teams who will have permission to push to the protected branch.
-
单击 Save changes(保存更改)。
提示:要成功将拉取请求合并到已启用必需状态检查的基本分支中,拉取请求的头部分支必须与基本分支保持一致。