分支是Git的杀手级功能,有了这个,才使得Git变得与众不同,脱颖而出。一般而言,会创建master分支和devloper分支,主分支是项目管理者才有权利改变的。(你改变了主分支也没有,因为你没有推送master分支的权限)Git创建分支是非常廉价的,所以git鼓励你多创建分支。git创建分支的时候只不过就是新增了一个名叫dev(大多数时候devloper分支都会简写为dev分支)指针而已,并且把HEAD从指向master变成指向dev。
使用如下命令:
git branch dev
使用如下命令即可查看分支。
git branch
输出如下图所示,可以看到显示有两个分支,分别是dev和master分支。并且当前我们在master分支,*所在的分支就是我们当前所在的分支,从颜色也可以辨别(绿色)。
使用如下命令即可切换分支。这两条命令的功能一样,只不过switch命令让人更容易理解。
git checkout dev
git switch dev
可以看到首先要创建分支,然后在切换分支,比较麻烦。Git提供了一个命令用来完成创建分支,并切换分支,如下所示。下面两条命令等价。
git checkout -b dev #加上-b参数即可
git switch -c dev
现在你可以在dev分支上工作了,例如在README文件加上一句“Modified README in dev branch.”。之后使用如下命令进行提交。
git add README
git commit -m "modified README."
做完这些,切换回master分支,查看README文件的内容,你会发现你在dev上修改完全不会影响master分支。
使用如下命令来将指定分支合并到当前分支。
git merge dev
当前,我们实在master分支,然后我们将指定的分支dev合并到master分支。同时注意到本次合并是Fast-forward(快进)。也就是直接将master指向了dev。之后我们会讲述合并产生冲突,该怎么办。
最后,来看看如何删除分支,比如说我们不需要之前创建的dev分支了,现在来删除它。
git branch -d dev
哦,差点忘记了,如何推送新分支到远程仓库,这其实和推送master分支到远程仓库没有区别。我们来看看如何做的。