当前位置: 首页 > backend >正文

如何创建GitLab 合并请求?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有:

  • 极狐GitLab 中文文档
  • 极狐GitLab 中文论坛
  • 极狐GitLab 官网

创建合并请求 (BASIC ALL)

GitLab 提供了多种不同的方式来创建合并请求,包括通过 使用 Git 命令。

NOTE:极狐GitLab 强制执行 分支命名规则 以防止出现问题,并提供 分支命名模式 来简化合并请求的创建。

从合并请求列表创建

你可以从合并请求列表中创建一个合并请求。

1.在左侧边栏,选择 搜索或前往 并找到你的项目。
2.选择 代码 > 合并请求
3.在右上角,选择 新建合并请求
4.选择源分支和目标分支,然后选择 比较分支并继续
5.填写 新建合并请求 页面上的字段,然后选择 创建合并请求

每个分支只能与一个打开的合并请求关联。如果该分支已经存在合并请求,将显示指向现有合并请求的链接。

从议题创建

如果您的开发工作流要求每个合并请求都有一个议题,您可以直接从议题创建分支,以加速这一过程。新的分支,稍后它的合并请求,将被标记为与该议题相关。合并请求合并后,议题会自动关闭,除非禁用自动关闭议题:

::Tabs

:::TabTitle 合并请求和分支

要同时创建分支和合并请求:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 计划 > 议题,然后找到您的议题。
3.转到议题描述的底部。
4.选择 创建合并请求 > 创建合并请求和分支
5.在对话框中,查看建议的分支名称。该名称基于您项目的分支名称模板。
6.可选:如果分支名称已被占用,或者您需要一个不同的分支名称,您可以重命名它。
7.选择源分支或标签。
8.选择 创建合并请求

:::TabTitle 仅创建分支

仅从议题创建分支:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 计划 > 议题,然后找到您的议题。
3.转到议题描述的底部。
4.选择 创建合并请求 > 创建分支
5.在对话框中,查看建议的分支名称。该名称基于您项目的分支名称模板。如果分支名称已被占用,或者您需要一个不同的名称,可以重命名它。
6.选择源分支或标签。
7.选择 创建分支

::EndTabs

如果您的 Git 仓库为空,GitLab 将会:

  • 建一个默认分支。
  • 提交一个空的 README.md 文件到该分支。
  • 创建并将您重定向到一个基于议题标题的新分支。
  • 如果您的项目配置了部署服务,例如 Kubernetes,GitLab 会提示您通过帮助创建 .gitlab-ci.yml 文件来设置自动部署。

如果您创建的分支名称以议题号为前缀,GitLab 会将该议题和合并请求交叉链接,并将议题关闭模式添加到合并请求的描述中。在大多数情况下,这看起来像 Closes #ID,其中 ID 是议题的 ID。如果您的项目配置了关闭模式,则当合并请求被合并时,议题会自动关闭。

从任务创建

  • 引入于极狐GitLab 17.8。

如果您的团队将议题分解为任务,您可以直接从任务创建分支,以加速这一过程。新的分支,稍后它的合并请求,将被标记为与该任务相关。合并请求合并后,任务会自动关闭,除非禁用自动关闭议题:
前提条件:

  • 您必须至少拥有该任务所在项目的开发者角色。

::Tabs

:::TabTitle 合并请求和分支

要同时创建分支和合并请求:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 计划 > 议题
3.在议题列表中,找到您的任务。
4.转到任务描述的底部。
5.选择 创建合并请求
6.在对话框中,查看建议的分支名称。该名称基于您项目的分支名称模板。
7.可选:如果分支名称已被占用,或者您需要一个不同的分支名称,可以重命名它。
8.选择源分支或标签。
9.选择 创建合并请求

:::TabTitle 仅创建分支

仅从任务创建分支:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 计划 > 议题
3.在议题列表中,找到您的任务。
4.转到任务描述的底部。
5.选择 创建合并请求 > 创建分支
6.在对话框中,查看建议的分支名称。该名称基于您项目的分支名称模板。
7.可选:如果分支名称已被占用,或者您需要一个不同的分支名称,可以重命名它。
8.选择源分支或标签。
9.选择 创建分支

::EndTabs

如果您的 Git 仓库为空,GitLab 将会:

  • 创建一个默认分支。
  • 提交一个空的 README.md 文件到该分支。
  • 创建并将您重定向到一个基于任务标题的新分支。
  • 如果您的项目配置了部署服务,例如 Kubernetes,GitLab 会提示您通过帮助创建 .gitlab-ci.yml 文件来设置自动部署。

如果您创建的分支名称以任务号为前缀,GitLab 会将该任务和合并请求交叉链接,并将关闭模式添加到合并请求的描述中。在大多数情况下,这看起来像 Closes #ID,其中 ID 是任务的 ID。如果您的项目配置了关闭模式,则当合并请求被合并时,任务会自动关闭。

当您添加、编辑或上传文件时

您可以在向仓库添加、编辑或上传文件时创建合并请求。

1.添加、编辑或上传文件到仓库。
2.在 提交信息 中,输入提交的原因。
3.选择 目标分支,或者通过输入分支名称来创建新分支。
4.选择 使用这些更改创建新的合并请求 复选框或切换按钮。仅当目标分支与源分支不同时,或源分支是受保护的时,此复选框或切换按钮才会显示。
5.选择 上传文件
6.填写字段并选择 创建合并请求。

当您创建分支时

您可以在创建分支时创建合并请求。

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 代码 > 分支
3.输入分支名称并选择 新建分支
4.在文件列表上方,选择 创建合并请求。会创建一个合并请求,默认分支为目标分支。
5.填写字段并选择 创建合并请求

当您在一个 Fork 中工作时

您可以从您的 Fork 创建合并请求,以贡献到主项目。

1.在左侧边栏中,选择 搜索或前往,然后找到您的 Fork。

2.选择 代码 > 合并请求,并选择 新建合并请求

3.对于 源分支,选择您 Fork 中包含更改的分支。

4.对于 目标分支

  • 选择目标项目。(确保选择上游项目,而不是您的 Fork。)
  • 从上游仓库中选择一个分支。

NOTE:如果您经常向上游项目贡献更改,建议为您的 Fork 设置一个默认目标项目。

5.选择 比较分支并继续

6.选择 创建合并请求。合并请求将创建在目标项目中,而不是您的 Fork 中。

工作合并后,如果您不打算再做更多贡献,可以解除 Fork 与上游项目的关联。
更多信息,请参见分支工作流文档。

设置默认目标项目

默认情况下,从 Fork 创建的合并请求将目标设置为上游项目,而不是 Fork 的项目。

您可以将您的 Fork 项目配置为默认目标,而不是上游项目。

前提条件:

  • 您在一个 Fork 中工作。
  • 您必须至少拥有开发者角色,或者被允许在项目中创建合并请求。
  • 上游项目允许创建合并请求。
  • Fork 的可见性设置必须与上游仓库匹配,或者不严格于上游仓库。例 如:如果您的 Fork 是私有的,而上游是公开的,那么此设置不会显示。

操作步骤:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。
2.选择 设置 > 合并请求
3. 在 目标项目 部分,选择您希望用于默认目标项目的选项。
4.选择 保存更改

通过发送电子邮件

您可以通过发送电子邮件到极狐GitLab 来创建合并请求。合并请求的目标分支是项目的默认分支。
前提条件:

  • 合并请求必须针对当前项目,而不是上游项目。
  • 必须由极狐GitLab 管理员配置 传入邮件。
  • 必须由极狐GitLab 管理员配置 电子邮件回复。
  • 您必须至少拥有开发者角色,或者被允许在项目中创建合并请求。

通过发送电子邮件创建合并请求的步骤:

1.在左侧边栏中,选择 搜索或前往,然后找到您的项目。

2.选择 代码 > 合并请求

3.如果项目包含任何合并请求,选择 通过电子邮件向该项目发送新合并请求

4.在对话框中,复制显示的电子邮件地址。请保密此地址。任何拥有该地址的人都可以像您一样创建问题或合并请求。

5.打开电子邮件并编写包含以下信息的邮件:

  • 收件人 行是您复制的电子邮件地址。

  • 主题 是源分支名称。

  • 邮件正文是合并请求描述。

6.要添加提交,请将 .patch 文件附加到邮件中。

7.发送电子邮件。

8.合并请求已创建。

通过电子邮件创建合并请求时添加附件

通过将补丁作为附件添加到电子邮件中,可以将提交添加到合并请求。

  • 补丁的总大小必须为 2 MB 或更小。
  • 要被视为补丁,附件的文件名必须以 .patch 结尾。
  • 补丁会按名称的顺序处理。
  • 如果主题中的源分支不存在,则会从仓库的 HEAD 或默认目标分支创建它。要手动更改目标分支,请使用 /target_branch 快速操作。
  • 如果源分支已存在,则补丁会应用到该分支之上。

故障排除

无法在问题上创建合并请求的选项
如果以下情况之一发生,问题上将不显示 创建合并请求 选项:

  • 已经存在相同名称的分支。
  • 已经存在针对该分支的合并请求。
  • 您的项目存在活动的 Fork 关系。
  • 您的项目是私有的,且问题是机密的。

要使此按钮显示,一个可能的解决方法是删除项目的 Fork 关系。删除后,无法恢复 Fork 关系。此项目将无法再从源项目或其他 Fork 接收或发送合并请求。

无法处理电子邮件消息

当您发送电子邮件以创建合并请求,并尝试将目标设为上游项目时,GitLab 会响应以下错误:

  • 抱歉,您的电子邮件消息无法处理。

  • 您不允许执行此操作。如果您认为这是一个错误,请联系工作人员。

http://www.xdnf.cn/news/1479.html

相关文章:

  • 【每日八股】复习 MySQL Day2:索引
  • 【Java面试笔记:基础】10.如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?
  • 前缀和相似题共赏
  • 文件自动备份
  • 共建安全可控大模型AI底座,助力国产化升级——麒麟信安与新智惠想达成战略合作
  • 2025.04.23华为机考第一题-100分
  • Redis高频核心面试题
  • go中redis使用的简单介绍
  • 利用HandlerMethodArgumentResolver和注解解析封装用户信息和Http参数
  • Postman设置了Cookies但是请求不携带Cookie
  • Java | 深拷贝与浅拷贝工具类解析和自定义实现
  • 今日行情明日机会——20250423
  • 协程gevent案例
  • 从代码学习深度学习 - 自动并行 PyTorch 版
  • AI飞行行为的可解释性与合规审计机制设计
  • React SSR + Redux 导致的 Hydration 报错踩坑记录与修复方案
  • 亚信安全与联通数科达成战略合作,成立联信事业部
  • 深入学习Axios:现代前端HTTP请求利器
  • flex修改主轴方向
  • 深入理解指针(2)
  • git提交
  • ctfhub-RCE
  • CDN加速http请求
  • 腾讯秋招面试题:bug生命周期中有哪些状态?
  • rl中,GRPO损失函数详解。
  • 需求质量验证-测试需求
  • GitLab_密钥生成(SSH-key)
  • 思科路由器密码绕过+重置
  • Vue 3中如何封装API请求:提升开发效率的最佳实践
  • Reactor编程模型介绍