GIT教程 — 分支管理(二)

标签: 分支管理 BUG分支 Featrue分支
1066人阅读 评论(0) 收藏 举报
分类:

分支管理





我们在上一篇博客分支的基本操作当中已经学会了,创建,查看,切换,合并,删除一个分支, 那么既然我们拥有了基础的知识之后,那我们需要如何

际运用分支呢? 那么在这个博客我们就能够找到答案. 通常,合并分支时,如果可能的话,GIT会用Fast forword模式,但是在这种模式下,删除分

后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支的信息. 


然后我们可以直接先使用文字,陈述一下我们的过程,首先我们创建一个MT分支: $ git checkout -b MT 然后在分支上面修改liang.txt文件,然后进

git add和git commit操作,然后切回主分支master,准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward 然后在程序运行结束后我们再

使用git log指令查看分支的历史情况,所以过程就是这样,我们来看看代码实现:



其实这里我们只需要注意合并前的最后一行即可. 不使用Fast forward模式的话,merge之后就是这样了:




我们在实际开发当中,首先master分支应该是非常稳定的,也就是仅仅用来发布新版本,平时不能在上面干活; 干活都在另外一个备用的稳定分支之上

先叫他develop分支,平时都是这样比如要发布3.0版本时,先把develop分支合并到master分支上面,然后在master分支之上发布3.0版本.

然后平时在公司,你和你的程序猿朋友们都拥有各自的分支,当你写好代码你就往develop上面添加就OK了.所以团队合作的分支就像是下面这个图片:








bug分支



我们现在没写过多少程序也会发现,程序的bug简直就跟吃饭一样,闲了没事了就来一个BUG. 所以你这整个分支上肯定会不定时的出现各种各样的bug

这个时候,GIT岂能坐视不管,由于分支功能很强大,所以有bug我们完全可以通过一个新的临时的分支来修复,修复后,合并分支,然后将临时的分支

删除. 举个例子现在你在你自己的分支里面正在工作,然后你的老板突然打电话过来说master分支上面你负责的哪一个板块出现了bug,快赶紧过去抢

修,这个时候你就得马上放下手头的工作去修bug,但是我的工作这才写了一半,这里不用担心. 我们GIT有一个stash功能,可以把工作现场"储存"起

来,等以后恢复现场之后继续工作:  $ git stash


好了,我们现在过来修改bug了,其实我们在上面那个图当中其实已经可以看到修改bug的过程了,具体就分为下面这几步:

假定我们在master分支上面修复,就从master创建临时分支bug-001. 然后修改bug,在文件中操作知道bug消除. 然后在该分支上面git add和git 

commit,然后,切换回master分支,然后把bug-001分支合并到master分支上,这个时候master上面的bug解除了. 最后删除掉bug-001分支. 





当然工程当中都是类似的修改bug方式,只是我的这个是在本地库修改. 然后当我们修改完bug.我们重新开始回到自己的分支上面干活,刚刚我

们使用$git stash 保存了工作现场. 我们可以使用$git stash list查看stash存储的工作现场.  接下来我们使用指令进行工作现场恢复:

$git stash apply //恢复现场,但是stash存储工作现场内容不删除

$git stash deop  //删除git当中,stash指令存储的工作现场.

还有一种方式就是使用: $ git stash pop,//恢复的同时把stash内容也删了.

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除. 但手头工作没有完成时,先把工作现场

git stash一下,然后修复bug,修复后再git stash pop,回到工作现场.


Feature分支


软件开发当中,总会有新的功能需要添加进来这个时候. 添加一个新功能时,你肯定不希望因为一些实验性质代码,把主分支搞乱了.所以,每添加一

个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后删除该feature分支.

从我上面那个图可以看出,创建一个feature分支的时候,其实跟bug分支没有什么区别,所以我们代码演示这个过程:



其实我们看到feature分支实现我们很容易理解的,我们只需要知道它的应用场景. 以及它的用法. 不过当你开发出新功能之后,你的组织上面突然有发

现了新功能的致命缺点,然后就让不要去往主分支上面合并了. 那你就只能删除这个分支了. 不过在GIT上面我们新创建的分支没有合并之前是没有办

法删除的. 所以我们需要一条大招指令: $git branch -D xxx   //强行删除

所以要丢弃一个没有被合并过的分支,可以通过git branch -D xxx 进行强行删除...




查看评论

git分支管理文档

  • 2017年10月09日 11:00
  • 1KB
  • 下载

Git分支管理规范和解析

目录 quick start why git 仓库和分支管理 远程和本地 分支管理 实战 git命令 git GUI 参考 quick_start 安装git工具可以使用git命令行,启动命令行工具...
  • dream_coder_21
  • dream_coder_21
  • 2017-06-15 09:32:56
  • 578

git学习之三:分支管理

介绍git版本控制的核心利器-分支(branch)。
  • xuesuc
  • xuesuc
  • 2016-05-28 15:00:35
  • 1313

Git 分支管理与开发流程

参考连接 http://www.ituring.com.cn/article/56870 http://semver.org/lang/zh-CN/ http://blog.csdn...
  • lanxingfeifei
  • lanxingfeifei
  • 2017-03-30 11:12:52
  • 1234

Git 分支管理最佳实践

Git 分支管理最佳实践 Git 是目前最流行的源代码管理工具。熟练使用 Git 已经成为开发人员的必修课之一。对于团队开发来说,如何有效的使用 Git 的分支是一个重要的课题。需要在新功能开发,新...
  • jljf_hh
  • jljf_hh
  • 2017-04-01 12:42:16
  • 688

git 中分支管理工程的思路

比较有意义的网站: GIT分支管理是一门艺术 Git分支管理策略 A successful Git branching model 推荐的策略:总结采用的策略是第二个网站中的策略1. 主分支:mast...
  • qqliyunpeng
  • qqliyunpeng
  • 2017-04-13 11:25:39
  • 693

SVN分支管理最佳策略

SVN分支管理最佳策略 [ 2014-08-29 20:41 | 浏览次数: 1,817次 | 0条评论 ] 现在网上git的分支管理最佳策略最好查找, 基本上都趋同于一个. 由nv...
  • chungle2011
  • chungle2011
  • 2015-11-04 12:54:01
  • 832

Git的版本和分支管理(高级用法 写的较好)

由于已经对git使用比较熟悉了,此篇关于git分支和版本的的管理将不会详细记录每一个细节。如果你还不熟悉git,请先参看: [1] http://blog.csdn.net/xiahouzuox...
  • sdkdlwk
  • sdkdlwk
  • 2017-12-09 16:58:10
  • 95

Git学习总结(12)——多人开发 Git 分支管理详解

1.前言  在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿。在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点。下面...
  • u012562943
  • u012562943
  • 2016-10-17 14:06:27
  • 1571

Git分支管理模型

参考博客: 阮一峰 分支管理策略 分支管理策略 分支管理目的: 打包方便,不影响测试效率。 分支自管理,便于开发独立性。 bug易于处理,并不影响现行开发进...
  • u014099894
  • u014099894
  • 2015-11-23 01:07:26
  • 839
    个人资料
    持之以恒
    等级:
    访问量: 11万+
    积分: 3173
    排名: 1万+
    最新评论