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

获取所有分支列表:

$ git  branch
* b1master

可以看书一共有两个分支,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  --mergedb1
* master

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

$ git branch --no-mergedb2

很明显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源码分析,等等等,同时还会分享一些赚钱理财的小套路哦,欢迎大家来支持,一起学习成长,程序员不仅仅是搬瓦工!
公众号:分享系列好文章

交流群:群友互相分享资料

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

  1. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81041078 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...

  2. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)

    转:https://blog.csdn.net/forezp/article/details/70162074 这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了z ...

  3. 史上最简单的git教程搭配Github和Gitee一起食用更佳

    史上最简单的git教程 开始之前 git的最简单使用 1. 安装 2. 配置 2.1 用户信息 3. 最基本使用 Github 1. 首先你需要一个账号 2. 你需要一个仓库 Gitee 开始之前 g ...

  4. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81040925 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...

  5. 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)

    转载请标明出处: https://www.fangzhipeng.com/springcloud/2017/07/12/sc02-rest-ribbon/ 本文出自方志朋的博客 最新Finchley版 ...

  6. 史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f2-ribbon/ 本文出自方志朋的博客 在上一篇文章,讲了 ...

  7. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(转)

    http://blog.csdn.net/forezp/article/details/70148833 版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http:// ...

  8. 史上最简单的 SpringCloud 教程

    关注公众号"风色年代"订阅更多精彩文章,本博大部分文章为转载并已标明原文出处,如有再转敬请保留,请自觉尊重原创作者的劳动成果! https://blog.csdn.net/fore ...

  9. 史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81041045 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...

最新文章

  1. Redis在APP中的应用
  2. am4针脚定义_AMD Zen处理器/AM4接口针脚数大增,比英特尔还多-控制器/处理器-与非网...
  3. 分析攻击IP来源地并画出饼图
  4. AngularJS(6)-选择框Select
  5. 一些奇妙的线段树操作
  6. 中文幽默语料库构建与计算项目(幽默等级识别,幽默类型识别,隐喻类型识别,隐喻情绪识别)
  7. 宁浩:扛过了,痛便是痛快!
  8. springquartz的LocalDataSourceJobStore
  9. 【7】测试用例设计-等价类分析法
  10. 蓝桥杯笔记:DFS(深度优先搜索)解决问题
  11. linux内核溢出利用,Linux内核堆缓冲区溢出漏洞
  12. selenium 实现循环点击_webdriver处理循环点击
  13. RNAcentral 数据库简介
  14. 学Python中道崩殂的人,大抵逃不过这3个原因!其中有你吗?
  15. Java中mongodb指定DB通过aggregate聚合查询操作示例
  16. Davinci数据可视化-新增图表类型-旭日图
  17. 先验分布,后验分布,似然函数
  18. Tech Lead 实践
  19. velo2cam_calibration——最新最准确的激光雷达Lidar和相机Camera外参标定算法实现
  20. C#.NET 国密SM4加密解密 CBC ECB 2种模式

热门文章

  1. CAD文件转换成图片的方法分享
  2. 线程间实现通信的几种方式
  3. pands 画图 调整大小_如何压缩图片大小?
  4. SCI投稿时如何选择推荐审稿人?
  5. 在电脑壁纸上HTML时钟壁纸,在电脑的桌面上怎么添加可爱的小钟表?
  6. 分页存储管理方式介绍及例题
  7. VMware运维干货分享:使用ESXICLI命令查询,网卡,HBA,RIAD卡信息
  8. 怎么折腾怎么有。。。。。
  9. 利用线性回归算法取得一段数据变化的趋势(斜率)
  10. .NET转JAVA曲折之路