git idea 分支切换代码覆盖_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合并请求

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第1张图片

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

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第2张图片

三、解决分合并冲突

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

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第3张图片

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第4张图片

2、处理冲突代码

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第5张图片

3、合并代码后提交

git idea 分支切换代码覆盖_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的请求,发现并没有冲突

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第7张图片

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

git idea 分支切换代码覆盖_Intellij IDEA GIT 分支合并冲突_第8张图片

四、代码同步

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

一般的项目为多分支开发

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

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

即从MASTER合并到DEV1,DEV2,DEV3

你可能感兴趣的:(git,idea,分支切换代码覆盖)