07将代码记录从分支1批量合并到分支2

07将代码记录从分支1批量合并到分支2

场景

飞虎队修改BUG分支为:V8.1-hotfix_1,某个时间段我们需要基于V8.1更新一次生产盘以保障版本稳定,于是基于V8.1-hotfix_1复制出了V8.1-feature分支用于更新生产盘。

如果更新生产盘稳定版需要耗费一个月时间,V8.1-hotfix_1和V8.1-feature分支并行发展,各自提交各自的代码,但一个月发版之后,我们需要将V8.1-feature分支代码完全合并到V8.1-hotfix_1上面,即V8.1-hotfix_1一定要保障最全代码量。

此时V8.1-feature向V8.1-hotfix_1批量合并代码的需求就来了,如下为让一个工程批量合并代码的方法。

操作步骤

执行git clone命令将需要合并的工程拉取到本地:

macro:code

git clone git@gitlab.seeyon.com:ctp/ctp-organization.git

进入idea,将工程导入到项目中,选择File->Project Structure->Project Settings->Mdules,右侧点击+号->Import Module->路径选择刚才clone的工程目录。

Import Module选择Maven,随后等待拉取即可:

等Maven工程拉取完成之后,切换分支到需要合并的分支:右下角选择全部工程,找到需要合并的工程,通过搜索Checkout到V8.1-hotfix_1(注意这只是一个示例分支)

checkout完成需要合并的目标分支之后,用同样方法找到V8.1-feature分支,此时不要用checkou,而是用“Merge Selected into Current”意思是将feature的代码合并到当前本地分支中:

注意选择的feature分支一定是Remote Branches远端的分支代码

如果没有冲突,会有一行小字提示合并完成,如果 有冲突会弹出冲突确认框,此时就需要挨个确认冲突,到底用哪个分支的代码。

双击打开差异视图,有可能你会发现两个分支的代码一样也差异,这个只需要保留一个分支代码即可。

最后确认Merge即可。

随后本地代码就合并了,下一步是要推送到远程仓库。

在推送之前需要做一件事:修改POM。由于不同分支的POM版本不同,其实此时我们“无意”将V8.1-feature的POM覆盖到V8.1-hotfix了,此时需要还原,进行本地commit即可,

最后一步,选择整个工程,鼠标右键->Git->push进行提交即可!

提交完成之后,注意到CICD编译构建平台检查编译进度:https://build.seeyoncloud.com/

如果出现编译失败,则需要排查并解决问题。

LICENSED UNDER CC BY-NC-SA 4.0