史上最简单的git教程|第九篇:分支管理工具

版权声明:转载请注明地址,谢谢配合 https://blog.csdn.net/pulong0748/article/details/82118979

     在上一篇我们讲到了如何创建合并分支、如何解决冲突以及如何删除分支,那么接下来我们将讲到一些常用的分支管理工具。

     获取所有分支列表:

$ git  branch
* b1
  master

     可以看书一共有两个分支,b1和master,并且HEAD指向了b1分支,每次提交,指针都会指向当前最新版本,我们可以通过以下命令来查看每个分支的最后一次提交,这对快速定位版本以及版本回退有很好的作用:

$ git branch -v
* b1     09f5926 添加test文件
  master 09f5926 添加test文件

     从图上可以看出 我是添加了test文件就创建b1分支,然后checkout 到b1分支的,英文默认创建文件都是指向的master分支。


     再次模拟一下多人协作的场景,我新建了一个test文件,文件为空,并且又新建了两个分支b1和b2,然后我先在默认分支master上对test文件进行了添加aaa->master,在b1分支上添加了bbb->b1,在b2分支上添加了ccc->b2:

$ git  branch  b1
$ git  branch  b2

     接下来我打算合并分支b1,不合并分支b2,master和 b1合并出现冲突,:

$ git merge b1
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
$ cat test.txt
<<<<<<< HEAD
aaa->master
=======
bbb->b1
>>>>>>> b1

     之后我手动解决冲突,再次add 并commit到版本库,然后再merge,成功了,有不会解决冲突的请看这:

$ git merge b1
Already up to date.

     我们来看看此时有哪些分支合并到主分支了:

$ git branch  --merged
  b1
* master

     哪些分支没有合并到主分支:

$ git branch --no-merged
  b2

     很明显b1合并到主分支,而b2没有,那么我们现在把b1分支和b2分支全部删掉吧:

$ git branch -d b1
Deleted branch b1 (was 854d0a1). //描述信息

$ git branch -d b2
error: The branch 'b2' is not fully merged.
If you are sure you want to delete it, run 'git branch -D b2'.

     我们发现b1分支可以删掉,但是b2分支无法删掉,因为不允许删除没有合并的分支,这也是出于安全的考虑,毕竟万一其他协作的人写了10000行代码,你把它删了,他会提刀来见你的。。。。


上一篇:史上最简单的git教程|第八篇:创建和合并分支、解决冲突、删除分支

下一篇:史上最简单的git教程|第十篇:git团队协作

猜你喜欢

转载自blog.csdn.net/pulong0748/article/details/82118979