一、分支概述
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。分支底层其实也是指针的引用。
分支的好处在于可以同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某个分支开发失败,不会对其它分支有任何影响。失败的分支删除重新开始即可。
二、分支操作
2.1 查看分支
基本语法:git branch -v
2.2 创建分支
基本语法:git branch 分支名
2.3 修改分支
基本语法:git checkout 分支名
2.4 合并分支
基本语法:git merge 分支名
2.4.1 正常合并案例
- 首先查看一下版本:(有两个分支,
hot_fix
和master
分支)
- 两个分支上都有hello.txt文件,两个文件的hello.txt内容如下:
- 切换到
hot_fix
分支,将hello.txt
文件修改如下:
- 添加暂存区并提交本地库,此时再切换到
master
分支,查看hello.txt
内容:(发现hello.txt文件还原回未修改的状态,因为指针的指向发生了变化,从hot_fix
指向了master
)
- 将
hot_fix
分支正常合并到master
分支上,并查看hello.txt
内容:(发现master
分支下的hello.txt
文件发生了变化)
2.4.2 冲突合并案例
冲突产生的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法代替我们决定使用哪一个。必须人为决定新代码内容。
-
首先
hot_fix
和master
分支下的hello.txt
文件内容如下:
-
在
master
分支下修改了hello.txt
文件,添加暂存区,提交本地库
-
切换到
hot_fix
分支下修改hello.txt
文件,添加暂存区,提交本地库
-
切换至
master
分支,合并出现冲突
-
手动修改,添加暂存区,提交本地库(注意使用
git commit
命令不能带文件名)
-
切换到
hot_fix
分支,查看hello.txt
文件,查看发现分支内容不会修改。
参考资料:尚硅谷Git入门到精通全套教程