Git的使用(4) —— 分支的概念和使用
1. 概念
在SVN中,分支并不是很便于使用。但是在Git中,分支就变成了特别好用的功能呢,受到大多数使用者的青睐。
分支中有几个概念:
- 分支:分支就是每一次提交创建的点连接成的线。
- master分支:版本库创建后,会生成一个默认的分支,这个分支叫主分支,也叫master分支,所有的分支都围绕这根分支做扩展。
- 子分支:在master分支的基础上创建的分支,子分支的发展与主分支独立。
- 指针:每一根分支中都会有一个指向这个分支的指针,这个指针指向了当前版本库中使用的提交版本,也就是指向分支线上指定的点。master分支就有一个master指针,其他分支的指针类似。
- HEAD指针:指向当前版本库使用的分支指针。
2. 添加点
在主分支的每一次提交就会使HEAD和master往前移动一次。
3. 添加分支
添加分支实际上对工作区没有任何变化,只是在版本库记录中添加了一个新的指针指向了分支的一个点。因为只是创建分支,所以HEAD指针还是指向master分支指针。
添加分支的方法:
右击工作区空白处,在TortoiseGit中选择"创建分支"。填写分支名,选择从何处创建子分支,填写描述信息,最后点击确定就可以创建一个新的子分支。
4. 切换分支
切换分支,实际上是切换提交点的位置,也切换了工作区中的文件。如果再次提交则会在新的分支上增加新的记录,而原本的分支则不受影响。
切换分支操作:
- 右击工作区空白位置,在TortoiseGit中选择"切换/检出"。
- 选择合适的分支后,点击确定,即可切换分支。
可以使用右击工作区空白处,在TortoiseGit中选择"版本分支图",查看当前所有的分支情况。红色的是正在使用的分支,最下面的英文字串是每一个点的散列值,来确定唯一的点。
5. 合并分支
当子分支需要完成的进度结束后,便可以将子分支合并到主分支上,也就是将两个分支合的内容并在主分支上形成一个新的点(记录)。注意:要合并到哪个分支上,就先切换到那个分支上,如图,要把sub合并到master上,就要先切换到master分支,然后进行合并操作。
子分支的指针停留在合并前的最后一个点上,如果还想继续在子分支上进行开发,还可以切换到子分支上继续开发,择机合并。
合并的操作:
- 右击工作区空白位置,在TortoiseGit中选择"合并"。
- 选择要被合并的分支,点击确定,即可合并。
6. 删除分支
删除分支仅仅是将分支指针删除,并没有删除掉所有的文件,通过散列值还可以恢复分支。
注意:恢复分支操作较为复杂,删除操作务必谨慎操作。
删除分支操作:
- 右击工作区空白位置,在TortoiseGit中选择"浏览引用"。
- 右击需要删除的分支,点击"删除分支",提示是否删除分支,点击"是",即可删除分支。