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合并请求

 

Intellij IDEA GIT 分支合并冲突_第1张图片

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

Intellij IDEA GIT 分支合并冲突_第2张图片

 

三、解决分合并冲突

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

Intellij IDEA GIT 分支合并冲突_第3张图片

Intellij IDEA GIT 分支合并冲突_第4张图片

2、处理冲突代码

Intellij IDEA GIT 分支合并冲突_第5张图片

3、合并代码后提交

Intellij IDEA GIT 分支合并冲突_第6张图片

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的请求,发现并没有冲突


Intellij IDEA GIT 分支合并冲突_第7张图片

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

Intellij IDEA GIT 分支合并冲突_第8张图片

四、代码同步

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

一般的项目为多分支开发 

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

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

即从MASTER合并到DEV1,DEV2,DEV3

 

 

你可能感兴趣的:(git)