几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。
不同的分支可以理解为两份不同的代码,只是它们是从同一份初始代码分化出来的,之后就是独立的开发,互不相关。
在工作中,我们也经常会将同一份代码划分出不同的分支,再进行独立的开发。
尤其是 Android 的源码,比如两个客户之间的定制要求差异很大,那就不适宜在同一个分支上去做区分,划分为不同的分支进行开发才更合理。
所以,学习了 git 指令的基本操作之后,我们还有必要来学一下不同的分支之间操作的指令。
Git 分支管理相关指令如下:
一、建立分支
git branch [分支名] # 创建对应分支名的新分支
二、查看分支
git branch # 查看本地分支
git branch -r # 查看远端库分支,即查看服务器上仓库的分支有哪些
git branch –a # 查看当前所有分支(包括本地分支和远端库分支)
git branch --no-merged # 查看所有包含未合并工作的分支
三、分支切换
git checkout [分支名] # 从当前分支切换到指定分支 (若指定分支分支不存在,则自动新建)
四、将分支与主分支 master 合并
git checkout master # 首先切换回主分支
git merge [分支名] # 比较两个分支的差异点,并将指定分支的改动合并到主分支
注:git merge:默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。
使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰(保持提交曲线为直线),建议采用这种方法。
五、删除分支
git branch –d [指定分支] # 删除指定名称的分支
六、切下远端库A分支到本地库A分支
git checkout -b A origin/A (若本地A分支不存在,则自动新建)
PS:文中介绍到的都是一些一些常用的基本的操作命令,更多的命令还是要自己在实践中摸索,也可通过帮助文档查询。
帮助文档的使用方式如下:
man git-<要查询的指令> # man 指 manual,即查询对应指令的手册
举个例子 ,比如你要查询 merge 的用法,查询指令为 man git-merge