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

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

     获取所有分支列表:

$ 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团队协作

如果有小伙伴觉得我写的不错的话可以关注一下我的博客,我会一直持续更新,也可以支持一下我的公众号哦:java架构师小密圈,会分享架构师所必须深入研究的技术,比如netty,分布式,性能优化,spring源码分析,mybatis源码分析,等等等,同时还会分享一些赚钱理财的小套路哦,欢迎大家来支持,一起学习成长,程序员不仅仅是搬瓦工!
公众号:分享系列好文章
java架构师小密圈

交流群:群友互相分享资料
java架构师小密圈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mindcarver

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值