一、代码合并介绍

分支代码合并有两种方法

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

76bef972a97b906b2f12ff733ccc64ce.png

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

7d574a4db4a27aff7d163797b041d52a.png

三、解决分合并冲突

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

a3f501ccec89231111f4091bf47148d4.png

4d324e403208fd0c3d31333aff2ed1d1.png

2、处理冲突代码

a3f6637192a740f1cd497bfe3e537378.png

3、合并代码后提交

1c5079ff5903bd076cbcbc7774065035.png

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

4a3973503bc2f8b44c181a68e4d7bfda.png

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

1bf2c118fc85cb255a5e371cf28ff14c.png

四、代码同步

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

一般的项目为多分支开发

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

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

即从MASTER合并到DEV1,DEV2,DEV3

Logo

一站式 AI 云服务平台

更多推荐