前言
分支是git
最核心的操作之一,了解分支的基本操作能够大大提高项目开发的效率。这一讲就来介绍一些分支的常见操作及其基本原理。
一、分支概述
在开发当中,往往需要分工合作。比如:小红开发A
功能,小明开发B
功能,小刚开发C
功能。如何才能做到三者并行开发呢?git
为我们提供的分支功能就能实现这一需求,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2x5GimWN-1586785835851)( http://ahuntsun.gitee.io/blogimagebed/img/git/lesson3/1.png)]
在实际的开发过程中,master
分支是用来发布项目稳定版本的。新的功能往往是在一个新建的分支上进行开发,等到新功能开发完毕并经过测试,表现稳定后,才会合并到master
分支上进行版本更新。这样就可以在保持一款软件发行的同时,同步进行新功能的开发。
通常来说,远程仓库的Git
分支会有如下几种:master
分支、test
分支、develop
分支,除此之外可能还有紧急修复bug
的hotfix
分支;但是,本地的分支可以有很多;本文主要介绍Git
本地分支的内容。
二、查看本地分支
1.git branch
查看当前版本库中的所有分支:
其中的 *
表示当前处于的分支,可见当前处于master
分支;
使用git init
初始化git
仓库时,git
会自动创建一个master
分支。但是,如果没有在master
分支上进行任何提交就切换到其他分支,那么在切换分支的时候master
分支会被销毁。并且,无法查看没有提交记录的分支,如下图所示:
2.git branch -a
查看所有本地分支,包括本地分支和本地远程分支:
3.git branch -v
查看所有本地分支上最近一次的提交记录:
但是,该指令无法查看本地远程分支:
4.git branch -r
-r
参数用于单独查看本地远程分支:
5.git branch -av
该指令不仅可以显示所有的本地分支,包括本地远程分支,以及对应分支上的最新提交信息:
6.git branch -vv
-vv
参数表示查看所有本地分支与远程分支的关联情况。如图所示,本地master
分支有本地远程分支origin/master
与之关联,说明它已与远程master
分支建立了关联;
至于上面提到的本地远程分支,将在下一讲中详细介绍。
三、创建本地分支
1.git branch <branch_name>
可通过上述命令创建新分支new_branch
:
由于是在master
分支上创建的new_branch
分支,所以**new_branch
分支与master
分支有着部分共同的提交历史**;所以,master
分支上的文件,new_branch
分支上都有。但是,在new_branch
分支上添加的new_branch
文件,不会存在于master
分支上:
此时两分支的状态为:
2.git branch -b <branch_name>
通过上述命令可创建并切换到new_branch
分支:
如图所示,本来所在分支为master
,并且没有new_branch
分支。执行上述命令后,创建并切换到了new_branch
分支上。
四、切换本地分支
1.git checkout <branch_name>
比如切换到new_branch
分支:
2.git checkout -
切换回上次操作的分支:
五、重命名本地分支
1.git branch -m <oldName> <newName>
如下图所示,将本地分支master
重命名为master2
:
六、删除本地分支
1.git branch -d new_branch
删除new_branch
分支: