为什么需要Git分支,以及分支逻辑

一、为什么需要使用分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响

 先看单线程开发 

为什么需要Git分支,以及分支逻辑_第1张图片

现在思考如下现象
    10.1 日 业务部门提出需求 : 明年 元旦3天做2个促销活动
    1) 12.31 号上线活动1, 
    2) 1.4 号上线活动2 ,同时 要求撤销 活动1
    你所在 部门领导 为了保证能顺利完成,要求 11.15 号完成 上述连个功能的开发工作
此时作为开发人员:我要面临两个文件, 活动1 的代码,即要存在(12.31 要用)又要不存在(1.4 号要求删除) ,我们怎么做?
显然比较棘手,如果使用分支(可以理解为将代码复制一份)将很好解决

为什么需要Git分支,以及分支逻辑_第2张图片 这就是为什么需要使用Git分支做开发,简单讲,分支就是产生了一个master的副本,我们在分支上做完需求后,再将完成的需求成果合并到master分支,在此期间,master不会因分支的修改而发生改变,能稳定运行

二、工作中的分支思路

一般再工作中,会创建如下分支,这只是一般情况,具体的分支方法要根据实际的团队关系、业务规模而定

master(生产)分支

用于上线的代码就存放在master中,主分支,其他分支都是围着master转的

develop(开发)分支

是从master创建的分支,一般作为开发部门的主要开发分支, 如果没有其他并行开发不同期上线要求,都可以再此版本进行开发,阶段开发完成后,需要合并到master分支,准备上线

feature分支

 从develop创建的分支,一般是同期的并行开发,但不同时期上线时创建的分支,分支上的研发任务完成后合并到develop分支,可以同时存在多条feature分支

hotfix分支

从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支

还有一些其他分支,例如 test分支(用于代码测试)、pre分支(预上线分支)等等 

为什么需要Git分支,以及分支逻辑_第3张图片

 

你可能感兴趣的:(Git,git)