Merge requests

原文:https://docs.gitlab.com/ee/user/project/merge_requests/

Merge requests

合并请求使您可以可视化并协作对作为对指定 Git 分支的提交而存在的源代码的建议更改.

Merge request view

合并请求( MR )是 GitLab 作为代码协作和版本控制平台的基础. 顾名思义,它就是一个一个分支合并到另一个分支的请求 .

Use cases

答:考虑您是一个团队中的软件开发人员:

  1. 您签出新分支,并通过合并请求提交更改
  2. 您从团队中收集反馈
  3. 您可以使用“代码质量”报告来进行优化代码的实现
  4. 您可以在 GitLab CI / CD 中使用JUnit 测试报告来验证您的更改
  5. 通过” 许可证合规性”报告,可以避免使用许可证与您的项目不兼容的依赖项
  6. 您要求您的经理批准
  7. 您的经理:
    1. 推动提交并进行最终审查
    2. 批准合并请求
    3. 将其设置为在管道成功时合并
  8. 您的更改将通过手动操作 GitLab CI / CD 部署到生产中
  9. 您的实施已成功交付给客户

B.考虑您是为您公司网站编写网页的 Web 开发人员:

  1. 您签出新分支,并通过合并请求提交新页面
  2. 您从审稿人那里收集反馈
  3. 您的更改将通过Review Apps进行预览
  4. 您要求您的网页设计师实施
  5. 您要求您的经理批准
  6. 一旦批准,您的合并请求将被压缩和合并 ,并部署到带有 GitLab 页面的暂存中
  7. 您的生产团队选择合并提交到生产中

Overview

合并请求(也称为” MR”)显示有关建议的更改的大量信息. MR 的主体包含其描述以及其小部件(显示有关 CI / CD 管道的信息,如果存在的话),然后是与该 MR 合作的人员的讨论线程.

MR 还包含导航选项卡,从中可以查看线程上正在进行的讨论,提交列表,管道和作业列表,代码更改以及内联代码审阅.

首先,请阅读合并请求简介 .

Merge request navigation tabs at the top

在 GitLab 12.6 中引入 . 此定位是实验性的.

到目前为止,在合并请求窗口小部件之后,位于合并请求中以显示” 讨论区” ,” 提交” ,” 管道 “和” 更改”的导航选项卡.

To facilitate this navigation without having to scroll up and down through the page to find these tabs, based on user feedback, we’re experimenting with a new positioning of these tabs. They are now located at the top of the merge request, with a new Overview tab, containing the description of the merge request followed by the widget. Next to Overview, you can find Pipelines, Commits, and Changes.

Merge request tab positions

请注意,此更改当前位于默认情况下启用的功能标志之后. 对于自我管理的实例,GitLab 管理员可以通过 Rails 控制台使用以下命令将其禁用:

  1. Feature.disable(:mr_tabs_position)

Creating merge requests

Learn how to create a merge request.

Reviewing and managing merge requests

查看可使用的功能来查看和管理合并请求 .

Testing and reports in merge requests

了解有关合并请求中的测试选项和报告更改的信息.

Authorization for merge requests

使用 GitLab 进行合并请求的主要方法有两种:

  1. 在单个存储库中使用受保护的分支
  2. 使用权威项目的分支

Learn more about the authorization for merge requests.