分支设置

本文介绍代码库的分支设置功能说明。

1.默认分支

默认分支作为 Clone、创建分支、合并请求、代码浏览的基础分支存在,同时可防护分支被误删除。作为代码库管理员可以按团队开发习惯修改默认分支,下拉选择需要修改的分支,参见①。

2.保护分支

保护分支定义:限制删除分支,限制 Force Push 强制推送。

代码库管理员设置合适规则的分支进行保护,被设置成保护分支即不允许任何人删除分支和强制推送,前者主要是对重要分支保护防止误删除,后者是避免强制推送的操作会使 Commit 无法追溯,参见②。

新建保护分支规则2

分支选择:支持两种形态

  • 填写具体分支完整名称

  • 分支通配符规则(目前只支持 ? 和 *),当匹配多个分支时展示所有匹配的分支,参见上图①。

    • 如果一个保护分支存在多个规则,以哪个为主?

      • 生效逻辑:如果代码库的某个分支可匹配多个保护分支规则,则包含特定分支名称的规则具有最高优先级;如果某个分支存在多个通配符规则匹配,则首先创建的分支规则将具有更高的优先级。

    • 如:代码库中有分支master、master-1、master-prod-1,有规则顺序如下:master-*、master-1、master-prod-*,匹配规则如下:

分支

可匹配的规则

使用的匹配规则

master-1

master-*,master-1

master-1

master-2

master-*

master-*

master-prod-1

master-*,master-prod-*

master-*

推送规则:展示可以直接 Push 到该保护分支的角色或人员,参见上图②。

  • 默认允许管理者和开发者。一旦勾选取消某种角色,意味着该角色不允许进行直接推送。

  • 无:不允许任何人支持进行推送。

  • 可以设置允许推送的人员:可在代码库的成员中进行选择,但生效的前提是该选择的用户有代码库的写入权限;

合并规则:即允许点击合并请求中的合并操作的角色或人员,参见上图③。

  • 默认允许管理者和开发者。一旦勾选取消某种角色,意味着该角色不允许进行合并操作。

  • 可以设置允许推送的人员:可在代码库的成员中进行选择,但生效的前提是该选择的用户有代码库的写入权限;

代码评审规则设置2

针对代码评审可以进行规则限制:

  • 允许创建者通过:是 / 否

  • 代码评审的评论已经全部解决:是 / 否

同时支持两种评审规则限制模式:

  1. 采用普通模式

最少评审通过人数:1

允许通过合并请求:管理员 + 开发者

默认评审者:如果没填人,该项不展示,限制最多20位

  1. 采用 CodeOwner 模式:

评审模式:CodeOwner 模式

CodeOwner 介绍详见文档CodeOwner 机制

自动化执行检查

代码扫描

如果未在库中开启任何扫描,则合并请求无法进行扫描卡点。

3

测试任务配置详见仓库设置-集成与服务部分,可开启扫描检测服务。

当开启某种扫描检测服务后,可针对服务进行评审卡点。

3

流水线检测

在保护分支中,支持对接 Flow 流水线进行合并请求的检测卡点。

分支设置1

如果当前代码库从未关联过流水线,需要前往 Flow 创建或关联已有流水线:如何关联 Flow 流水线

注意

:为了每次提交自动触发流水线执行检测,创建流水线时请手动勾选「代码提交」触发事件,否则需要手动触发流水线输出检测结果,作为合并请求的卡点检查数据:

分支设置2

关联流水线后,可在此选择需要用于合并检测卡点的流水线:

分支设置3

被选中的流水线将用于任何申请合并至当前保护分支的合并请求的卡点条件,需要流水线执行通过才能合并至当前保护分支。

注意

:若被选中的流水线未运行,同样