一.什么是分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)
二.分支的好处
同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
三.分支的操作
命令名称 |
作用 |
git branch 分支名 |
创建分支 |
git branch -v |
查看分支 |
git checkout 分支名 |
切换分支 |
git merge 分支名 |
把指定的分支合并到当前分支上 |
四.代码实操
1:首先此时我们查看我们的本地的分支:使用git branch -v命令,会发现此时我们只有一个master分支
一般来说我们的master分支就当作是要给我们用户使用的一个分支,所以其他我们创建的分支我们就称他们为子分支,并最终需要将我们子分支所修改和更新的东西提交到我们的matser分支上,如下图所示:
2:此时我们添加一个分支,名为hot-fix分支,使用git branch 分支名这个命令来创建一个新的分支,此时创建完后是没有命令提示的
使用git branch 分支名所创建的新分支,这个新的分支相当于将主分支 master的内容复制了一份,并且复制过来的代码文件默认全部提交至本地库。
3:此时我们再使用git branch -v命令后,便可以看到有两个分支了
4:此时我们的分支还是在我们的master分支上,若此时我们想去使用我们的子分支hot-fix分支的话,那么此时需要使用切换分支命令git checkout 分支名
5:切换完成后,此时我们发现我们的分支切换到了我们的hot-fix分支上,那么此时当我们去使用git branch -v命令后,我们的hot-fix变成绿色了,然后此时我们的星号也指向了我们的hot-fix分支,说明切换成功。
6:既然我们已经切换到了我们的子分支hot-fix,那么此时便可以在子分支上对我们想要更新的功能进行更新,此时我们想要修改之前主分支master下的hello.txt文件,但是我们并不想在主分支mater下去进行修改,那么我们便可以在我们所创建的子分支hot-fix下对hello.txt文件进行修改,并将两个分支进行合并,那么此时我们使vim hello.txt命令来对hot-fix分支下的hello.txt文件进行修改,修改内容如下所示:使用:wq保存后,此时我们继续下一步。
7:此时在hot-fix分支内,当我们修改完文件后,意味着被修改过的hello.txt文件还没有被添加到我们的暂存区,可以使用git status命令来进行验证
此时我们会发现被修改的文件变成了红色,变成红色意味着我们此时修改后的文件还没有被添加到暂存区,那么此时我们执行git add hello.txt命令,将我们修改后的文件添加到我们的暂存区当中去,代码如下所示:
此时再去查看我们的本地库状态:如下所示:
我们会发现此时有需要我们提交到本地库的文件,也就是我们重新修改过的hello.txt文件,那么此时我们输入git commit -m "hot-fix first commit" hello.txt将我们修改过后的hello.txt文件提交到我们hot-fix子分支下的本地库去,如下图所示:
8:当我们在hot-fix分支下将我们的hello.txt提交到本地库后,此时使用cat hello.txt命令进行查看我们会发现之前的hello.txt已经修改成功
同时在我们本地电脑的文件夹内打开我们的hello.txt文件也可以看到我们的本地文件也已经被修改了:
同时打开我们的.git文件夹下的HEAD文件夹里面去查看我们当前的HEAD指针指向了我们的hot-fix分支,说名我们此时切换分支成功,head指针指向了我么的hot-fix分支。