初识git flow

初识git flow

相信git flow的概念大家也都接触过,本人也是在新项目开始时,刚刚接触git flow管理模型,感觉受益匪浅,使用git flow管理模型的确可以节省时间,省去很多麻烦,而且对于团队协作非常友好。


git flow简介

Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践。Git Flow是一套使用Git进行源代码管理时的一套行为规范和简化部分Git操作的工具。

一般而言,软件开发模型有常见的瀑布模型、迭代开发模型、以及最近出现的敏捷开发模型等不同的模型。每种模型有各自应用场景。Git Flow重点解决的是由于源代码在开发过程中的各种冲突导致开发活动混乱的问题。因此,Git flow可以很好的于各种现有开发模型相结合使用。

下图是关于git flow详细的介绍:

这里写图片描述

从上图中我们可以很清楚的了解git flow的管理模式,主要就是开发分支的管理,之前在项目开发中,自己也手动管理过分支,包括:新建分支,切换分支,merge分支等等,也遇到过很多问题,当项目开发人员很多的时候,手动管理就显得更加麻烦,因此,git flow的管理模型的作用就非常突出了。

git flow中的分支

Git Flow模型中定义了主分支和辅助分支两类分支。其中主分支用于组织与软件开发、部署相关的活动;辅助分支组织为了解决特定的问题而进行的各种开发活动。

主分支

主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中。主分支分为master分支和development分支。

1.master分支

master分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state)。当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,最好添加对应的版本号标签(TAG)。

2.develop分支

develop分支是保存当前最新开发成果的分支。通常这个分支上的代码也是可进行每日夜间发布的代码(Nightly build)。因此这个分支有时也可以被称作“integration branch”。

辅助分支

辅助分支是用于组织解决特定问题的各种软件开发活动的分支。辅助分支主要用于组织软件新功能的并行开发、简化新功能开发代码的跟踪、辅助完成版本发布工作以及对生产代码的缺陷进行紧急修复工作。这些分支与主分支不同,通常只会在有限的时间范围内存在。

辅助分支包括:

  1. 用于开发新功能时所使用的feature分支;
  2. 用于辅助版本发布的release分支;
  3. 用于修正生产代码中的缺陷的hotfix分支。

以上这些分支都有固定的使用目的和分支操作限制。从单纯技术的角度说,这些分支与Git其他分支并没有什么区别,但通过命名,我们定义了使用这些分支的方法。

git flow小结

Git Flow开发模型从源代码管理角度对通常意义上的软件开发活动进行了约束。应该说,为我们的软件开发提供了一个可供参考的管理模型。Git Flow开发模型让nvie的开发代码仓库保持整洁,让小组各个成员之间的开发相互隔离,能够有效避免处于开发状态中的代码相互影响而导致的效率低下和混乱。

还有一点是关于git工具的使用,个人认为sourcetree和git flow结合使用起来非常方便,建议大家使用,关于具体的使用教程,大家可以参考基于SourceTree 下的 Git Flow 模型这篇文章,介绍的非常详细。SourceTree的下载地址

SourceTree下的git flow

大家可以参考基于SourceTree 下的 Git Flow 模型这篇文章。

参考

基于git的源代码管理模型——git flow
基于SourceTree 下的 Git Flow 模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值