1、分支的简单理解
在版本控制过程中,每个任务我们可以创建每个任务的单独分支。分支意味着可以把自己的工作从主线上分离开来,开发自己分支的时候,不会影响到主线分支的运行。分支可以理解为副本,一个分支就是一个单独的副本。
同时并行推进多个功能的开发,提高开发的效率,如果分支在开发过程中失败,不会对其它分支有任何的影响,只需要把失败的分支删除,然后重新开始就可以了
2、分支的操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 合并分支 |
2.1、查看分支
git branch -v
查得当前只有一个master分支
2.2、创建分支
git branch 分支名
可知分支hot-fix已经创建成功
2.3、切换分支
git checkout 分支名
在hot-fix分支上修改文件后,提交到本地库
注意看:此时切换为主分支,但是在hot-fix分支上面修改的文件在主分支中没有修改
hot-fix分支hello.txt文件:
主分支hello.txt文件:
2.4、合并分支
git merge 分支名
此时查看master分支的hello.txt文件,发现hot-fix分支的文件已经合并成功
注意:上述合并为正常合并,没有冲突的情况
下面演示分支合并有冲突的情况
master分支中的hello.txt内容:
hot-fix分支中的hello.txt内容:
提示修复冲突后再提交
解决方案:需要人为的打开冲突的文件
将该部分进行人为修改然后保存
注意:执行git commit
的时候不能再带文件名
合并成功
Git切换分支的底层原理其实就是HEAD指针的指向切换,当前所在的分支,其实就是由HEAD决定的,所以创建分支的本质就是多创建一个指针
- HEAD如果指向master,那么我们现在就是在master分支上
- HEAD如果指向hot-fix,那么我们现在就是在hot-fix分支上
HEAD的查看在上文有讲述,其实就是在.git文件夹里面的HEAD文件里面