受保护的分支

权限在GitLab中,基本上都是围绕着对存储库和分支拥有读写权限的想法来定义的。为了防止人们破坏历史记录或未经审查就发布代码,我们创建了受保护的分支。

概述

默认情况下,受保护的分支做四件简单的事情:

  • 它可以阻止除具有Master权限的用户之外的所有人创建它(如果尚未创建)
  • 它可以防止所有人推送,除了拥有主权限的用户
  • 它可以防止任何人从推力到树枝
  • 它可以防止任何人从删除分支开始

看到更新日志部分用于随时间变化的更改。

GitLab企业版的附加功能:

配置受保护分支

若要保护分支,您至少需要具有Master权限级别。注意分支默认受保护。

  1. 导航到您的项目设置➔存储库
  2. 滚动以查找受保护的分支部分。
  3. 分支下拉菜单,选择要保护的分支并单击保护.在下面的截图中,我们选择了开发分支。

    受保护分支页面

  4. 一旦完成,受保护的分支将出现在“受保护的分支”列表中。

    受保护分支列表

使用允许合并和允许推送设置

介绍了在GitLab 8.11中。

自从GitLab 8.11以来,我们增加了另一层分支保护,它提供了更细粒度的受保护分支管理。“开发人员可以推送”选项被“允许推送”设置所取代,该设置可以设置允许/禁止管理员和/或开发人员推送到受保护的分支。

使用“允许推送”和“允许合并”设置,您可以控制不同角色可以对受保护分支执行的操作。例如,您可以将“允许推送”设置为“无人”,将“允许合并”设置为“开发人员+管理员”每一个人为进入受保护分支的更改提交合并请求。这与工作流兼容,如GitLab工作流

然而,有些工作流程不需要这样做,只有防止外力推动和分支移除才有用。对于这些工作流,你可以通过将“允许推送”设置为“开发人员+管理员”,允许每个有写权限的人推送到受保护的分支。

您可以在创建受保护的分支时设置“允许推送”和“允许合并”选项,或者在创建受保护的分支后,从“已受保护”区域的下拉列表中选择您想要的选项。

开发者可以推送

如果在创建受保护的分支时不选择这些选项,默认情况下它们将被设置为“master”。

通配符保护的分支

介绍了在GitLab 8.10中。

您可以指定一个通配符保护的分支,该分支将保护所有匹配通配符的分支。例如:

通配符保护分支 匹配的分支
*稳定 稳定产量staging-stable
生产/ * 生产/应用服务器生产/负载平衡器
* gitlab * gitlabgitlab /分期主/ gitlab /生产

受保护的分支设置(如“开发人员可以推送”)适用于所有匹配的分支。

两个不同的通配符可能匹配同一个分支。例如,*稳定而且生产- *两者都匹配稳定产量分支。在这种情况下,如果任何这些受保护的分支都有一个类似“允许推送”的设置,然后稳定产量也将继承此设置。

如果你点击一个受保护的分支的名称,你将会看到所有匹配分支的列表:

受保护分支匹配

删除受保护的分支

介绍了在GitLab 9.3中。

有时,可能需要删除或清理受保护的分支。

用户提供主的权限和up可以通过GitLab的web界面手动删除受保护的分支:

  1. 访问存储库>分支
  2. 单击希望删除的分支旁边的删除图标
  3. 为了防止意外删除,需要额外确认

    删除受保护的分支

删除受保护的分支只允许通过web界面,不允许通过Git。这意味着您不能意外地从命令行或Git客户端应用程序中删除受保护的分支。

在受保护的分支上运行管道

合并或推送到受保护分支的权限用于定义用户是否可以运行CI/CD管道并对与这些分支相关的作业执行操作。

看到受保护分支的安全性有关管道安全模型的详细信息。

更新日志

9.2

8.11

8.10


Baidu
map