GIT分支篇,合并分支与解决分支冲突

2025-05-21 13:00:46

那么多的版本控制系统,为什么偏偏选择GI哌囿亡噱T?基本上可以说就是因为他的分支模型的轻量与便捷性,因为在其他的版本控制系统,分支是一个略显低效的功能,它意味着你需要创建一个项目的副本,对于大项目来说会耗费很多时间,而GIT可以让你频繁的使用分支与合并,哪怕一天中进行多次分支与合并操作,都非常轻松。本文给大家如何合并分支内容。

工具/原料

电脑

GIT

历史回顾

1、首先我们回顾一下上一篇文章讲到了哪里,上文讲到的工作流程如图所示

GIT分支篇,合并分支与解决分支冲突

没有冲突的合并操作,我们合并b1,b2的内容到master

1、# 首先我们看看当前分支master下的文件ll# 合并分支b1 -m选项如果不加的话,此时会弹出一个文本框需要你填写一个合并的信息git merge b1 -m '合并b1'# 合并分支b2git merge b2 -m '合并b2'

GIT分支篇,合并分支与解决分支冲突

2、# 合并完成后 再次查看一下master下的文件,可见b1分支的工作内容,b2分支的工作内容,都已经合并到master中ll

GIT分支篇,合并分支与解决分支冲突

3、#查看当前已合并的和未合并过的分支,可见其他分支中没有合并的内容git branch --mergedgit branch --no-merged

GIT分支篇,合并分支与解决分支冲突

4、此时整个项目的工作流程,如图所示

GIT分支篇,合并分支与解决分支冲突

我们在多人协同开发的使用GIT的时候,经常会遇到冲突的情况,现在在本项目模拟一下当前情况

1、# master分支中查看test.txt的内容cat test.txt拭貉强跳# 添加一行内容'master上的修改'进入text.txt末端并查看echo 媪青怍牙"master上的修改" >> test.txtcat test.txt# 跟踪修改并提交到仓库的master分支git add . && git commit -m 'master上的第四次提交'

GIT分支篇,合并分支与解决分支冲突

2、# 切换到b1分支并查看b1分支中的test.txt内容git chec氯短赤亻kout b1cat test.txt# 添加一行内容'b1上的修改'进入text.txt末端并查看echo "b1上的修改" >> test.txtcat test.txt# 跟踪修改并提交到仓库的master分支git add . && git commit -m 'b1上的第四次提交'此时大家应该都可以看出,两个分支中相同文件,相同位置做了不同的修改,那么合并的时候怎么处理呢?下文给大家讲解。

GIT分支篇,合并分支与解决分支冲突

解决合并的冲突并提交

1、# 切换到主分支mastergit checkout master# 合并分支b1,可以发现冲突了git merge b1# 查看当前仓库状态,可以看到当前test.txt因包含冲突内容而处于未合并(Unmerged)状态git status

GIT分支篇,合并分支与解决分支冲突

2、# 打开文件看看冲突内容,可以发现冲突的部分已经用<<<<<<< , ======= , 和 >>>>>>>这些行标记起来,具体区分如图

GIT分支篇,合并分支与解决分支冲突

3、# 解决的冲突的方案,就是确定冲突部分的代码或者文案保留什么样的内容,然后清掉<<<<<<< , ======= , 和 >>>>>>>这些行标记,修改好的文件内容如图

GIT分支篇,合并分支与解决分支冲突

4、# 重新提交一次到仓库git add . && git commit -m 'master上处理好冲突并提交第五次'

5、# 冲突的时候git会生成以下几个文件协助你解决冲突_BACKUP_:冲枥昂龄室突文件备份_BASE_:冲突前文件内容_LOCAL_:本地文围泠惶底件修改内容,本文因为是master合并b1,所以是master分支的修改内容_REMOTE:远程文件修改内容,本文因为是master合并b1,所以是b1分支的修改内容修改完毕建议删除他们如图

GIT分支篇,合并分支与解决分支冲突

6、此时整个项目的工作流程图,如图所示:

GIT分支篇,合并分支与解决分支冲突
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢