分支规则
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab 提供了多种方法来保护单个分支。这些方法确保你的分支从创建到删除都受到监督和质量检查:
- 为项目的 默认分支 应用增强的安全和保护。
- 配置 受保护分支 以:
- 限制谁可以推送和合并到分支。
- 管理用户是否可以对分支进行强制推送。
- 管理是否可以直接将
CODEOWNERS文件中列出的文件的更改推送到分支。
- 配置 审批规则 来管理审查要求,并实施 与安全相关的审批。
- 集成第三方 状态检查 以确保你的分支内容符合你定义的质量标准。
你可以通过以下方式管理分支:
- 使用 GitLab 用户界面。
- 使用命令行上的 Git。
- 使用 Branches API。
查看分支规则
分支规则概览页面显示所有配置了保护的分支及其保护方法:
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
要查看分支规则概览列表:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules 以查看所有受保护的分支。
查看分支规则详情
要查看单个分支的分支规则和保护:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules 以查看所有受保护的分支。
- 识别你想要的分支并选择 View details。
创建分支规则
此功能的可用性由功能标志控制。 有关更多信息,请参阅历史记录。
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
要创建分支规则:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules。
- 选择 Add branch rule。
- 选择以下选项之一:
- 输入特定的分支名称或模式:
- 选择 Branch name or pattern。
- 从 Create branch rule 下拉列表中,选择一个分支名称或使用
*创建 通配符。
- 保护项目中的所有分支:
- 选择 All branches。
- 在规则的详情页面上,在 Merge request approvals 下,输入规则所需的审批数量。
- 保护项目中已指定为受保护的所有分支:
- 选择 All protected branches。
- 在规则的详情页面上,在 Merge request approvals 下,输入规则所需的审批数量。
- 输入特定的分支名称或模式:
添加分支规则保护
不适用于 all branches。
要为新分支添加保护:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules。
- 选择 Add branch rule。
- 选择 All protected branches 或 Branch name or pattern 之一。
- 选择 Create protected branch。
添加审批规则
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
不适用于 all branches。
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
要添加合并请求审批规则:
- 从 分支规则详情 页面,转到 Merge request approvals 部分。
- 在 Approval rules 部分,选择 Add approval rule。
- 在右侧边栏,完成以下字段:
- 选择 Save changes。
有关更多信息,请参阅 审批规则。
编辑压缩提交选项
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
- 在 GitLab Free 中,只有当分支规则目标为 All branches 时,此功能才可用。
- 在 GitLab Premium 和 GitLab Ultimate 中,此功能对所有分支规则都可用。
要编辑压缩选项:
-
从 分支规则详情 页面,转到 Squash commits when merging 部分。
-
选择 Edit。
-
选择以下选项之一:
- Do not allow:不允许压缩,复选框被隐藏。
- Allow:复选框可见且默认未选中。
- Encourage:复选框可见且默认选中。
- Require:始终执行压缩。复选框可见且选中,用户无法更改。
-
选择 Save changes。
添加状态检查服务
- Tier: Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
不适用于 all protected branches。
要添加状态检查服务:
-
从 分支规则详情 页面,转到 Status checks 部分。
-
选择 Add status check。
-
输入 Service name。
-
在 API to check 字段中,输入 URL。
你应该使用 HTTPS URL 来保护传输中的合并请求数据。
有关更多信息,请参阅 External status checks。
编辑分支规则目标
此功能的可用性由功能标志控制。 有关更多信息,请参阅历史记录。
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
要编辑分支规则目标:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules 以查看所有受保护的分支。
- 识别你想要的分支并选择 View details。
- 在 Rule target 部分,选择 Edit。
- 根据需要编辑信息。
- 选择 Update。
编辑分支规则保护
不适用于 all branches。
要编辑分支规则保护:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules 以查看所有受保护的分支。
- 识别你想要的分支并选择 View details。
- 从 Protect branch 部分,选择以下选项之一:
- 从 Allowed to merge,选择 Edit。
- 选择可以合并到此分支的角色。
- 选择 Save changes。
- 从 Allowed to push and merge,选择 Edit。
- 选择可以合并到此分支的角色。
- 如有需要,搜索以添加 Deploy keys。
- 选择 Save changes。
- 从 Allowed to merge,选择 Edit。
在 GitLab Premium 和 Ultimate 中,你还可以将组或单个用户添加到 Allowed to merge 和 Allowed to push and merge。
有关分支保护控制的更多信息,请参阅 Protected branches。
删除分支规则
此功能的可用性由功能标志控制。 有关更多信息,请参阅历史记录。
删除分支规则不适用于目标为 all branches 的规则。
先决条件:
- 你必须拥有项目的 Maintainer(维护者)角色或更高。
要删除分支规则:
- 在左侧边栏,选择 Search or go to 并找到你的项目。
- 选择 Settings > Repository。
- 展开 Branch rules。
- 在要删除的规则旁边,选择 View details。
- 在右上角,选择 Delete rule。
- 在确认对话框中,选择 Delete branch rule。