欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 如何创建GitLab 合并请求?

如何创建GitLab 合并请求?

2025/4/26 21:12:36 来源:https://blog.csdn.net/weixin_44749269/article/details/147441405  浏览:    关键词:如何创建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 会响应以下错误:

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词