Git-分支合并、解决冲突

前期文章写到代码的提交,实际场景中,测试测通过后,就需要将功能分支合并到主分支,然后进行发版等操作。那分支如何进行合并?合并过程中出现冲突如何解决呢?

1、本地库当前仅有一个分支main,这时候HEAD头指针执行main

在这里插入图片描述

2、新建分支feature1 并切换到此分支。
git checkout -b feature1

新建feature1分支,其实就是将feature1指向main,并将头部指针HEAD指向feature1
在这里插入图片描述

3、修改a.java文件.
添加:ahahahah

在这里插入图片描述

4、提交修改

git add a.java

git commit -m ‘feature1 commit’

在这里插入图片描述
此时feature1有了新的提交,具体如下:
在这里插入图片描述

5、切换分支到main

git checkout main
在这里插入图片描述

6、修改a.java内容

当前a.java
在这里插入图片描述

添加:heiheiheihei

在这里插入图片描述

修改并提交

在这里插入图片描述
此时main分支上也有了一次新的提交,且头部指针HEAD指向main.
在这里插入图片描述

7、将分支feature1合并到main分支,存在冲突,需要解决冲突。
因为feature1对a.java进行过一次提交,所以合并时出现冲突。

git merge feature1

在这里插入图片描述

8、冲突解决

查看a.java文件,展示不同分支的修改,选择自己想要修改的内容,进行修改。
在这里插入图片描述

修改a.java文件为:ahahaahah,并进行提交修改。

出现冲突时,同一个a.java文件出现不同分支的修改,此时对a.java文件修改成自己想要修改成的内容,例如:修改成feature1提交的内容,将main原来提交的内容删除。

修改后,对a.java文件进行一次新的提交,此时冲突解决。
在这里插入图片描述
在这里插入图片描述
由下图可以看到,在解决冲突时,main分支其实进行了一次新的提交。
在这里插入图片描述

小知识

master:主分支。

develop:开发主分支,代码永远是最新。

feature-xxx:功能开发分支,在develop上创建分支。例如:origin/feature/video_tab.

release:预发布分支,在合并好feature分支的develop分支上创建。

release-fix:功能bug修复分支,在release上创建分支修复,修复好提测的bug之后合并回release分支。例如:origin/feature/fix_voice_input_crash.

以上为分支的合并与冲突的解决。多练习,共勉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值