极狐 GitLab

合并请求评审

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com,私有化部署

合并请求评审流程确保在变更合并之前,由主题专家评审您提议的变更。评审者向合并请求添加评审意见,并建议变更,作者可以直接从极狐GitLab UI 应用这些变更。

评审者可以使用以下工具评审合并请求:

  • 极狐GitLab 界面。

批准是确保合并请求仅在真正准备好时才合并的多种合并检查之一。根据您的项目配置,评审者还可以通过设置 请求变更 来阻止合并请求合并。

极狐GitLab 专业版和旗舰版提供了一个 分配评审者 抽屉,其中包含更多信息,帮助您找到满足批准规则的评审者

此合并请求需要四个批准,其中三个批准要求尚未满足。

遵循定义的评审流程,每位评审者决定是否接受或拒绝合并请求。右侧边栏显示评审者列表,以及(如果他们遵循评审流程)他们的评审状态:

处于不同评审阶段的评审者示例。

查找要评审的合并请求#

您的合并请求主页会显示进行中的合并请求以及等待您评审的合并请求。您需要评审的合并请求位于 已请求评审 类别中。 要查看所有需要您关注的合并请求,请使用以下方法之一:

  • Shift+m 键盘快捷键
  • 在左侧边栏中,选择 合并请求 ()。
  • 在顶部栏中,选择 搜索或跳转到,然后从下拉列表中选择 我正在处理的合并请求

查看合并请求的评审状态#

操作步骤:

  1. 在顶部栏中,选择 搜索或跳转到 并找到您的项目。

  2. 在左侧边栏中,选择 代码 > 合并请求 并找到您的合并请求。

  3. 选择合并请求的标题查看它。

  4. 滚动到合并请求小部件查看合并请求的可合并性和批准状态。例如,缺少必需的批准会阻止此合并请求:

    合并请求小部件显示“必须给出所有必需的批准”。

请求评审#

版本历史

当您完成变更的准备后,就可以请求评审了。要为您的合并请求分配评审者,可以在任何文本字段中使用 /assign_reviewer 快速操作,或者:

  1. 在顶部栏中,选择 搜索或跳转到 并找到您的项目。
  2. 在左侧边栏中,选择 代码 > 合并请求 并找到您的合并请求。
  3. 选择合并请求的标题查看它。
  4. 要按名称查找评审者:在右侧边栏的 评审者 部分,选择 编辑
  5. 要在极狐GitLab 专业版和旗舰版中查找满足批准规则的评审者:
    1. 在右侧边栏的 评审者 部分,选择 分配 打开 分配评审者 抽屉。
    2. 对于每条批准规则,选择 编辑 查找满足该批准规则的评审者。

极狐GitLab 将合并请求添加到用户的评审请求中。

查找满足批准规则的评审者#

Tier: 专业版,旗舰版

Offering: JihuLab.com,私有化部署

极狐GitLab 专业版和旗舰版帮助您更快地为合并请求找到最佳评审者。使用 分配评审者 抽屉筛选评审者列表。查看您合并请求中更改的文件的代码所有者,以及满足项目批准规则的用户。

在此示例中,合并请求需要 3 个代码所有者批准,但目前还没有:

合并请求需要 3 个代码所有者批准但没有的“分配评审者”抽屉。它显示了每个代码所有者规则一行,每个批准规则一行。为每条规则选择评审者。

要在合并请求中分配符合条件的批准者:

  1. 评审者 部分,选择 分配
  2. 要查看可选的批准规则或代码所有者,选择 可选批准规则 () 以显示它们。
  3. 在您需要的评审者类型旁边,选择 编辑
    • 代码所有者 仅显示该文件类型的代码所有者。
    • 批准规则 仅显示满足该批准规则的用户。
  4. 选择您想要的评审者。(极狐GitLab 专业版和旗舰版允许您选择多个评审者。)
  5. 为每个必需的 代码所有者批准规则 项目重复此操作。
  6. 当您选择了评审者后,在右上角选择 关闭 () 隐藏 分配评审者 抽屉。

重新请求评审#

在评审者完成其合并请求评审后,合并请求的作者可以向评审者请求新的评审。为此,可以在合并请求的任何文本字段中使用 /request_review @user 快速操作,或者:

  1. 在顶部栏中,选择 搜索或跳转到 并找到您的项目。
  2. 在左侧边栏中,选择 代码 > 合并请求 并找到您的合并请求。
  3. 选择合并请求的标题查看它。
  4. 如果您在合并请求中折叠了右侧边栏,选择 展开侧边栏 将其展开。
  5. 评审者 部分,选择评审者姓名旁边的 重新请求评审 图标 ()。

极狐GitLab 会为评审者创建新的待办事项,并向他们发送通知邮件。

开始评审#

版本历史

评审合并请求时,请遵循评审流程,而不是留下单独的评论。当您选择 开始评审 时,右侧边栏的 评审者 部分会将您的状态从 等待评审 (

) 更新为 评审者已开始评审 ()。

要开始评审合并请求:

  1. 您可以:

    • Shift+r 转到您的 合并请求 页面。
    • 在右上角选择 合并请求 ()。
  2. 找到您的合并请求,然后选择合并请求的标题查看它。

  3. 阅读合并请求描述和评论以了解合并请求。

  4. 选择 变更 选项卡查看提议变更的差异。要了解有关 变更 页面的更多信息,请参阅合并请求中的变更

  5. 根据需要建议多行或单行变更。当准备好保存您的第一条评审评论时,选择 开始评审 以:

    • 将右侧边栏中的状态更新为 评审者已开始评审 (

      )。

    • 保存您的评审评论,但不发布,如下所示:

      一个显示为“待处理”的未发布的多行评审评论。

    如果您选择 立即添加评论 而不是 开始评审,极狐GitLab 会立即发布您的评论。

  6. 继续在 变更 选项卡或 概览 选项卡上撰写评审评论。选择 添加至评审 使它们保持未发布,直到您提交评审:

    新话题

接下来,提交您的评审。

通过评论解决或重新打开话题#

评论也可以解决或重新打开评论话题。要在回复评论时解决或重新打开话题:

  1. 在评论文本区域中,撰写您的评论。
  2. 勾选或取消勾选 解决话题重新打开话题
  3. 选择 立即添加评论添加至评审

待处理评论会显示有关延迟操作的信息。这些操作将在您提交评审时执行。

提交评审#

版本历史
  • 使用 批准 提交待处理的评审评论 引入于极狐GitLab 18.6。

当您提交评审时,极狐GitLab 会:

  • 发布您评审中的评论。
  • 向合并请求的每个可通知用户发送一封邮件,其中附有您的评审评论。回复此邮件会在合并请求上创建新的评论。
  • 执行您添加到评审评论中的任何快速操作。
  • 显示您的评审结果。

要快速提交合并请求的评审:

  • 转到合并请求小部件并选择 批准。合并请求也会被您批准。
  • 在非评审评论的文本中使用 /submit_review 快速操作

要在提交评审时阅读和编辑评审评论:

  1. 在右上角选择 您的评审 以显示有关您评审的详细信息:

    评审抽屉,显示进行中的评审。它包含一条单行评审评论和一条跨两行代码的评论。

  2. 审查您的待处理评论。根据需要编辑它们。

  3. 选择您的评审结论。

    • 批准:留下反馈并批准变更。
    • 评论:留下一般反馈,并无明确批准或变更请求。
    • 请求变更:阻止合并请求合并,直到作者处理您的反馈。
  4. 可选。撰写您的评审摘要。极狐GitLab 专业版和旗舰版用户可以选择 添加摘要 (

    ) 为您创建摘要。包含您要执行的任何快速操作。

放弃您的待处理评审#

当您放弃评审时,未发布的评论将被删除且无法恢复。操作步骤:

  1. 在右上角选择 您的评审 以显示有关您评审的详细信息:

    评审抽屉,显示进行中的评审。它包含一条单行评审评论和一条跨两行代码的评论。

  2. 选择 放弃评审

当您请求变更时阻止合并#

Tier: 专业版,旗舰版

Offering: JihuLab.com,私有化部署

版本历史

评审者请求变更会阻止合并请求合并。当发生这种情况时,合并请求报告区域会显示消息 变更请求必须由请求用户批准。要解除阻止,请求变更的评审者应重新评审并批准合并请求。

移除变更请求#

版本历史
  • 引入于极狐GitLab 17.8。

如果您之前请求了变更,您可以移除您的变更请求。在以下两种情况均为真时,您可能需要这样做:

  • 您不能再批准合并请求。
  • 您想取消您的变更请求,但又不想提交新的评审。

要在不提交新评审的情况下移除变更请求:

  1. 在顶部栏中,选择 搜索或跳转到 并找到您的项目。

  2. 在左侧边栏中,选择 代码 > 合并请求 并找到您的合并请求。

  3. 选择合并请求的标题查看它。

  4. 在合并请求 概览 中,滚动到合并请求报告区域。

  5. 变更请求必须由请求用户批准 旁边,选择 移除

    由于用户请求变更而被阻止的合并请求

绕过变更请求#

如果请求变更的用户无法重新评审或批准,其他有权合并该合并请求的用户可以覆盖此检查:

  1. 在顶部栏中,选择 搜索或跳转到 并找到您的项目。

  2. 在左侧边栏中,选择 代码 > 合并请求 并找到您的合并请求。

  3. 选择合并请求的标题查看它。

  4. 在合并请求 概览 中,滚动到合并请求报告区域。

  5. 变更请求必须由请求用户批准 旁边,选择 绕过

    由于用户请求变更而被阻止的合并请求

  6. 合并报告区域显示 谨慎合并:已添加覆盖。要查看用户绕过的检查,选择 展开合并检查 (

    ) 并找到包含警告 () 图标的检查。在此示例中,作者绕过了 变更请求必须由请求用户批准

    此合并请求包含一个已绕过的检查,应谨慎合并。

下载合并请求变更#

您可以将合并请求的 变更以差异或补丁文件形式下载

相关功能#

合并请求与以下功能相关:

  • Cherry-pick 变更:在极狐GitLab UI 中,在已合并的合并请求或提交中选择 Cherry-pick 来挑选它。
  • 比较变更:查看并下载合并请求中包含的变更差异。
  • 快进合并请求:用于线性 Git 历史以及一种不创建合并提交而接受合并请求的方式。
  • 查找引入变更的合并请求:在查看提交详情页面时,极狐GitLab 会链接到包含该提交的合并请求。
  • 合并请求版本:选择并比较合并请求差异的不同版本。
  • 解决冲突:极狐GitLab 可以提供选项来在极狐GitLab UI 中解决某些合并请求冲突。
  • 还原变更:从合并请求的任何提交中还原变更。
  • 键盘快捷键:使用键盘命令访问和更改合并请求的特定部分。
  • 价值流分析:跟踪关键的合并请求步骤(如 reviewedapproved),以确定您的团队在软件开发生命周期中花费最多时间的环节。这些信息有助于发现可操作的见解,优化群组和项目的合并请求工作流,提高开发者生产力。在博客文章中阅读更多关于我们如何使用价值流分析缩短合并请求评审时间的信息。