昨天我们学会了使用git来对仓库进行操作,那么当我们在实际的项目开发中,不可能仅仅凭借着自己一个人就能完成一个大项目,需要的是一个团队的共同协作,但在开发过程中,我们不能同时对同一个仓库进行操作,因为这样会给项目带来新的问题,更有可能会使项目整个瘫痪,因此需要每个人开发时的项目是互不影响的,这就是git最重要的分支。
1. 分支的创建与合并
分支就相当于是一个指向仓库某一时刻目录的引用。在git仓库中,master是默认分支,也就是主分支,master会随着每次提交自动前移。而分支就是在主线路上分出另一条支流,这条支流是主线路之前的某一时刻。
理解了分支后我们就开始创建分支,创建分支的命令是:
$ git branch testing
现在我们在昨天的hello-world仓库下创建一个名字叫testing的分支,在这里我们仅仅是创建了一个分支,现在我们还是在主分支master中,如果要切换到testing分支中,使用的命令是:
$ git checkout testing
现在我们切换到了testing分支,这时我们在这个分支上进行一些提交,提交后我们切换到master分支,查看现在仓库的状态,如下图:
这时切换到master分支后,其信息提示你,你的分支在主分支之前有两个提交,说明我们的testing分支比master超前了,现在我们的主分支停留的状态是还没有修改a.txt的状态。
现在我们testing分支的提交是有用的,我们要将它合并到主分支中,其命令是:
$ git merge testing
这时我们的testing分支就成功合并到了master分支中了。
在合并之后,我们的testing分支就没有作用了,我们就可以删除分支。命令是:
$ git branch -d testing
2. 分支的管理
1)我们可以使用不带的branch命令查看我们所创建的分支:
$ git branch
其中*表示当前所在的分支是master分支。
2)查看各分支最后一次提交对象的信息
$ git branch -v
这时我们发现a分支和master分支最后一次提交对象的信息一样,说明前面我们将a分支和master分支进行了合并。
3)查看哪些分支已经被合并/没合并
$ git branch --merge
$ git branch --no-merge
这图说明a分支进行过合并,跟上面所显示的信息一样。
这图说明b分支没有进行过合并。
总结
这次我们了解了分支的概念,以及如何创建分支,合并分支,以及对分支的管理,到此为止,我们已经对git有了基础的了解,有了这些知识我们就能够使用git来对我们的项目进行开发管理了,大家加油!