一个计算机技术爱好者与学习者

0%

使用IDEA合并代码的个人实践

1. 前言

团队合作开发,肯定会涉及到代码合并的问题。
以前在代码合并的时候,喜欢使用beyond compare。同一个项目拷贝两份,一个保持最新代码,一个用于开发,开发完成后使用beyond compare把开发代码合并到最新代码。然后push到远程分支,提一个MR。
后来发现,使用IDEA配合Git命令来合并代码,简直完美。本文就来记录一下这种方法,供大家参考。

已知项目名为 voidking,有很多分支,其中 pre 分支用来发布服务到预发环境,master分支用来发布服务到生产环境。代码合并后,创建pre或者prod开头的tag,触发CICD。

2. 开发

1、在github或者gitlab新建一个issue,描述清楚问题或者功能。
2、针对这个issue,创建一个分支。这个分支会以issue的标题命名,前面加上issue的编号。假设生成的branch为 3-add-new-feat 。
3、拉取最新代码后,本地创建自己的分支
git checkout -b haojin

4、一顿复制粘贴,功能完成,commit自己的代码。

3. pre分支代码合并

到了代码合并的步骤,表演开始。

1、拉取最新代码

1
2
git checkout master
git pull

2、创建mergepre分支

1
git checkout -b mergepre origin/pre

3、使用IDEA合并代码
点击界面右下角Git Branches,选择 haojin 分支,Show Diff with Working Tree。
根据自己的修改,合并代码到当前的mergepre分支,修改完成后commit代码。

4、push代码

1
git push origin HEAD:haojin --force

需要注意的是,这里我们把mergepre的分支push到了远程的haojin分支,并没有push到 3-add-new-feat 。这是因为,3-add-new-feat这个分支我们留着,代码合并到master分支时使用。

点击出现的链接,或者在gitlab上的haojin分支点击创建MR,进入创建MR的页面。

5、选择要合并到的分支为 pre ,可以看到代码的变更,再次检查。

6、检查没问题的话,提交MR即可。

4. master分支代码合并

以上,假设我们已经合并了自己的代码到 pre 分支。并且在预发环境发版验证通过,没有问题。接下来就可以合并代码到 master 分支了。

1、拉取最新代码

1
2
git checkout master
git pull

2、创建mergeprod分支

1
git checkout -b mergeprod

3、使用IDEA合并代码
点击界面右下角Git Branches,选择 haojin 分支,Show Diff with Working Tree。
根据自己的修改,合并代码到当前的mergeprod分支,修改完成后commit代码。

4、push代码

1
git push origin HEAD:3-add-new-feat

点击出现的链接,或者在gitlab上的haojin分支点击创建MR,进入创建MR的页面。

5、选择要合并到的分支为 master ,可以看到代码的变更,再次检查。

6、检查没问题的话,提交MR即可。

5. 代码冲突解决办法

问题描述:git pull 之后,出现代码冲突。
解决办法:菜单栏Git,Merge,Resolve Conflicts,选中冲突代码,Merge。