合并请求批准设置

您可以配置合并请求批准 的设置,以确保批准规则符合您的用例。您还可以配置批准规则,它定义了在合并之前必须批准工作的用户数量和类型。合并请求批准设置定义了在合并请求接近完成时如何应用这些规则。

编辑合并请求批准设置

查看或编辑合并请求批准设置:

  1. 转到您的项目并选择 设置 > 通用
  2. 展开合并请求 (MR) 批准

在本节通用设置中,您可以配置以下设置:

设置 描述
阻止作者批准 启用后,合并请求的作者无法批准它。
阻止添加提交的用户批准 启用后,已提交合并请求的用户无法批准它。
阻止在合并请求中编辑批准规则 启用后,用户无法覆盖项目对合并请求的批准规则。
需要用户密码才能核准 强制潜在的核准人首先使用密码进行身份验证。
将提交添加到源分支时删除所有核准 启用后,当添加更多更改时,删除合并请求上的所有现有核准。

阻止作者批准

默认情况下,合并请求的作者无法批准它。要更改此设置:

  1. 转到您的项目并选择 设置 > 通用
  2. 展开 合并请求 (MR) 批准
  3. 清除 阻止作者批准 复选框。
  4. 选择 保存更改

作者可以编辑单个合并请求中的批准规则并覆盖此设置,除非您配置以下选项之一:

  • 在项目级别阻止覆盖默认批准
  • (仅限自助管理实例) 在实例级别阻止覆盖默认批准。在实例级别配置时,您无法在项目或单个合并请求级别编辑此设置。

阻止添加提交的用户批准

默认情况下,提交合并请求的用户仍然可以批准它。在项目级别或实例级别,您可以阻止提交者批准部分属于他们自己的合并请求。操作如下:

  1. 转到您的项目并选择 设置 > 通用
  2. 展开 合并请求 (MR) 批准
  3. 选中 阻止添加提交的用户批准 复选框。如果清除此复选框,管理员在实例级别已禁用它,并且无法在项目级别进行更改。
  4. 选择 保存更改

根据您的极狐GitLab 版本,提交合并请求的代码所有者可能会也可能不会批准工作:

  • 在 13.10 及更早版本中,提交合并请求的代码所有者可以核准它,即使合并请求影响了他们拥有的文件。
  • 在 13.11 及更高版本中,当合并请求影响他们拥有的文件时,提交合并请求的代码所有者无法核准它。

要了解有关作者和提交者之间的差异的更多信息,请阅读官方 Git 文档。

阻止在合并请求中编辑批准规则

默认情况下,用户可以在每个合并请求的基础上覆盖您为项目创建的批准规则。如果您不希望用户更改合并请求的批准规则,您可以禁用此设置:

  1. 转到您的项目并选择 设置 > 通用
  2. 展开 合并请求 (MR) 批准
  3. 选中 阻止在合并请求中编辑批准规则 复选框。
  4. 选择 保存更改

此更改会影响所有打开的合并请求。

需要用户密码才能核准

您可以强制潜在的核准人首先使用密码进行身份验证。:

  1. 为 Web 界面启用密码验证。
  2. 转到您的项目并选择 设置 > 通用
  3. 展开 合并请求 (MR) 批准
  4. 选中 需要用户密码才能批准 复选框。
  5. 选择 保存更改

将提交添加到源分支时删除所有核准

默认情况下,即使您在批准后添加更多更改,对合并请求的批准仍然存在。如果要在添加更多更改时删除合并请求上的所有现有批准:

  1. 转到您的项目并选择 设置 > 通知
  2. 展开 合并请求 (MR) 批准
  3. 选中 将提交添加到源分支时删除所有批准 复选框。
  4. 选择 保存更改

当合并请求在 UI 上变基时,不会重置批准。但是,如果目标分支发生更改,则会重置批准。

合并请求的安全批准

如果合并请求可能引入漏洞,您可以要求安全团队的成员批准合并请求。

代码覆盖率检查批准

如果合并请求会导致代码测试覆盖率下降,您可以要求获得特定批准。