Intellij IDEA GIT 分支合并冲突

转载自:Intellij IDEA GIT 分支合并冲突

一、代码合并介绍

分支代码合并有两种方法

1、通过GIT界面发起合并请求

2、通过本地IDE工具、GIT命令合并代码后再PUSH到远程仓库

二、制造分支代码合并冲突场景

1、在GIT上创建一个test项目,并在README.md中添加以下内容

#test project  

2、在master 上创建一个dev分支

3、修改master README.md文件内容并提交

#test project  
this is master update begin  
hello world  
this is master update end  

4、修改master README.md文件内容并提交

#test project  
this is dev update begin  
hello world  
this is dev update end  

5、发起从dev到master合并请求

6、处理合并代码请求提示代码冲突需要手工合并

三、解决分合并冲突

1、切换到master分支选择要合并的dev分支

2、处理冲突代码

3、合并代码后提交

4、因为代码只从DEV合并到MASTER,MASTER代码没有合并到DEV,如果DEV还有代码更新,是否会覆盖MASTER中的代码修改呢?我以前一直在想这个问题,这里验证一下。

5、在dev代码中添加一行记录

#test project  
this is master update begin  
hello world  
this is master update end  
this is dev update begin  
hello world  
this is dev update end  

6、再从DEV发起至MASTER的请求,发现并没有冲突


7、MASTER更新代码,也没有覆盖MASTER中修改的代码

四、代码同步

1、以上操作只从DEV合并代码到了MASTER,但MASTER的代码修改与DEV分支是没有的,难道代码一直不同步?

一般的项目为多分支开发 

如果时修复BUG的临时分支,BUG修复完以后会合并到开发分支或主分支并打上一个TAG,之后会删除BUG修复分支。

有些大的项目会分业务线,如DEV1,DEV2,DEV3对应三个分支,一般项目发布完一个版本后,会把代码从上往下合并一次。

即从MASTER合并到DEV1,DEV2,DEV3

猜你喜欢

转载自my.oschina.net/zjllovecode/blog/1818104