Git使用学习(十二、分支)

什么是分支?

在版本控制过程中,使用多条线,同时推进多个任务。

 

在git的版本库初始化好之后,默认会有一个分支,叫master分支

 

假设我们开开发一个叫WeChat的项目。

 

这里基本的底层的东西由团队负责人开始搭建好,做出了一个基本的底层,这个版本只支持基本的两个人之间的文字聊天功能。

 

接下来要让这个WeChat项目,增加两个功能,一个是语音消息功能,一个是朋友圈功能。

这两个功能分别是两个项目组开发的。为了不让这两个功能在开发过程中影响之前的文字聊天功能,这里在之前的功能上增加两个分支。

分别叫Feature_Voicc和Feature_Friends

 

 

开发这两个功能的工程师们,独自向前开发。

 

开发朋友圈功能开发到一定阶段的时候,老板说,最初提出的这个功能别的公司已经开发出来了,咱们不能延续别人的老路,朋友圈功能要有A功能,B功能,C功能等等。之前规划的朋友圈功能架构上不能支持老板提出的需求,推到我们重新讨论定义这个朋友圈的功能。此时重现创建一个新的分支,叫Feature_New_Friends。原来的Feature_Friends分支可以从这个项目中删除,当然也可保留只是这个分支不会合并到主分支上去了。

 

 

 

假设过了一段时间,语音消息功能已经开发完毕,而且也已经测试ok。这是就可以把这个语音消息这个分支合并到主分支中去。

主版本升级了一个大版本。

 

 

过了一段时间,假设我们发现了一个主分支上的BUG,我们需要尽快的修复一下主分支上的这个bug。

通常我们可以创建一个叫做hot_fix的热修复分支,这个分支主要是为了修复主分支上的重要问题的。一般都是问题比较严重,改动比较小的问题。

对于这种问题,一般都是快速,紧急的修复,并快速上线更新。这次主版本进行了一次小版本的升级。

 

 

之后,新的朋友圈功能,经过几轮内部的测试,更改,也已经ok了。

主版本可以再进行一次大的改动升级。

 

 

分支的好处?

并行的推进多个功能开发,提高开发效率。

如果开发的某个分支开发失败,不会对其它分支有任何影响,失败的分支重新删除,重新开始即可。