1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建环境依赖包
  6. 构建制品
  7. 构建节点
  8. 管理构建计划
  9. 系统插件
  10. 自定义团队插件
  11. 最佳实践
  12. 常见问题
  13. 词汇表
代码仓库 / 合并请求与代码评审 / 合并分支

合并分支

在采用多分支开发工作流时,建议开发组长将主分支设置为保护分支,开发者创建临时开发分支,完成后向主分支发起合并请求。通过持续集成和代码评审后,开发者将开发分支合并至主分支。

创建合并请求

支持通过命令行或在 CODING DevOps 平台手动创建合并请求。

通过命令行创建:

git push origin local-branch:mr/target-branch/local-branch

手动创建:

  1. 在代码仓库详情页面,进入「合并请求」页签,然后点击右上角创建按钮。

  1. 指定合并请求的源分支与目标分支。当源分支与目标分支对比后没有发现冲突,系统提示源分支可合并到目标分支。你可以通过「文件改动」页签查看文件差异。

通过设置合并请求可指定合并请求的默认目标分支。

  1. 填写合并请求的标题、描述,关联资源。

当源分支的提交不领先于目标分支时,不可创建合并请求。

解决不可自动合并的请求

当源分支与目标分支对比后发现存在冲突,系统提示源分支和目标分支不可自动合并。你可以在「对比」页签查看文件改动记录,解决冲突后才能继续合并分支。

例:当 branch-01 合并入 master 分支时提示有冲突时,可以先在本地切换至 master 分支并运行命令:

git merge branch-01

找到冲突文件,此时冲突文件会标识冲突内容并询问保留何种内容。选择需保留的内容,保存后重新提交 commit,完成后切换至 branch-01 分支并输入命令:

git merge master

再将修改后的代码推送至远端仓库即可。

发起评审

在发起一次分支合并请求时,建议让相关人员参与到代码审视中,以确保准合并代码的正确性。

如果合并请求的目标分支为保护分支,默认会自动添加分支管理员为评审者。如需更改设置,参考保护分支规则

评审者在完成合并请求评审之后,将会在该合并请求详情页面显示评审结果。

检查合并状态

除了上述常见的人工代码审查外,结合 CODING 持续集成,我们还提供了自动化代码评审工具集成的解决方案。基于预定义的规则先行对代码进行扫描,当代码质量有问题时会拒绝合并代码。只有通过了自动化工具检查的代码才允许合并,显著提高代码审查效率。

开启状态检查

保护分支支持开启状态检查。勾选之后,要求状态检查(CI 任务)全部运行通过后才允许合并。

在持续集成中的触发规则内需要选中「创建合并请求时触发构建」,这样才能在创建合并后立即触发构建任务。

查看状态检查结果

完成上述设置后,在正确触发构建任务的情况下,可以看到合并检查的状态。如果没有显示如图界面,可能是没有在 CI 构建任务中选择「创建合并请求时触发构建」。

你可以点击右上角的刷新按钮随时获取最新状态,成功后会在下方出现分支已经合并的提示,失败则会拒绝合并。状态检查有四种状态:

  • 进行中:你可以耐心地等待构建完成。
  • 成功:此时合并请求可以正常合并。
  • 失败:构建过程发生错误,合并检查不通过,你可以修改代码、推送触发新的构建任务直到构建成功完成。
  • 异常:构建过程发生了异常,可以尝试进行手动触发。

如果存在多个状态检查的情况下,只有所有的状态检查都成功通过后才会允许分支合并。你也可以在代码浏览、提交历史、分支列表中查看状态检查过程。

确认合并

  • 合并的目标分支为保护分支

若合并请求的发起者为分支管理员,那么可以自行合并。若发起者为普通成员,那么需要通过分支管理员的评审才能完成合并。

  • 合并的目标分支为非保护分支

发起者无需经过评审与授权,可以自行发起并完成分支合并。

如需了解如何修改默认分支与设置保护分支,参考设置默认分支设置保护分支

删除源分支

合并分支时,勾选删除源分支,可在合并分支时删除源分支。

Fast-Forward 模式合并

常规的分支合并时会默认产生一个合并提交记录。若勾选了 「Fast-Forward 模式合并」,远端仓库会在合并时判断是否符合 Fast-Forward 规则。若符合则此合并不会产生新的合并提交记录;若不勾选此模式,则会在合并时保留过往开发记录并产生一个新的合并记录。

此选项相当于使用 git merge 时添加 –ff 参数。

通过设置合并请求可实现合并请求默认删除源分支及默认以 Fast-Forward 模式合并。

上一篇调整合并请求设置
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?

工单咨询