Git 实战分支版本管理策略 | TBD++ Flow
简介
随着Git的普及,为了更高效地进行团队协作开发,人们通过经验总结研究出了几套适用于各种团队和项目的分支管理策略,上篇文章我们讲解了 Git Flow 代码版本管理策略,它对版本控制较为严格,主要适合开发团队规模较大、开发周期较长,可达几周至几个月的项目,同时,文章提供了版本管理方案图及必要的讲解。
接下来将介绍Git 分支管理策略:TBD++ Flow,该版本管理策略整合了其他策略的优点,适合敏捷开发团队,开发周期长、快速迭代均适用。先看一下工作流图。
TBD++ Flow 工作流图

TBD++ Flow 工作流说明
总体规范建议:
统一以版本号命名,各分支以版本号对应,比如,feature/v1.0 、release/v1.0、tag/v1.0、hotfix/v1.0
1. 主分支 Master
稳定版本代码分支,不能在此分支直接修改代码, 只接受 hotfix、release 分支的代码合并,每次从 release/hotfix 分支合并必须打版本号 tag,以方便后续的代码追溯。该分支上部署自动化测试脚本,在每次代码提交至该分支后都会触发测试,以此保证主分支核心功能的稳定。
2.新功能分支 Feature
新功能迭代开发分支,开发人员在此分支进行编码及代码评审->测试人员进行功能测试->开发人员修复bug->从 master 分支拉取最新代码 ->将测试通过后的代码合并到 master。feature 分支需要定期向 master 分支拉取最新代码。
3.发布分支 Release
feature 分支经过代码评审及功能测试后合并到 master 分支,测试人员再从 master 分支拉取对应的 release 分支。测试部进行集成测试、开发部修改 bug、产品验收。产品验收通过后(发布上线前)基于 release 分支打 tag 进行版本发布,再将代码合并回 master分支,如果代码较为关键,还需要合并到其他的 release 分支。最后可将 feature 迭代分支删除。
4.热修复分支 HotFix
1)如果是在 master 分支发现的bug,则该分支基于 master 创建,bug 修复完成并测试通过后需要合并回 master 分支。
2)如果是在 release 分支发现的bug,则该分支基于 release 发布时的 tag 版本创建,bug 修复完成并测试通过后需要合并回 master 分支、所有涉及的 release 分支以及 master 分支。最后在 release 分支上添加新的 tag。
总结
以上是敏捷项目团队中所推荐的 Git 版本管理策略,我们可以看到上述策略比前文的 Git Flow 简单了许多,少了一个主要的 develop 分支,只需要维护 master 一个主干分支,现代的开发模式中,为更快更好地满足客户的需求,往往采用敏捷迭代的开发方式,TBD++ Flow 版本管理策略既适合周期较长的团队开发,也适合快速迭代的开发模式,它整合了其他版本管理策略的优点,可以在敏捷开发团队中使用。
敏捷开发团队对团队成员的每一位要求比较高,需要团队成员能够编写自动化测试脚本,也需要团队中的每一位成员都能够独立合并自己的代码。
关注微信公众号【技术管理修行】
程序员职业生涯规划,分享程序员进阶架构师所需全部技能,分享程序员如何转管理做技术总监、CTO,分享程序员如何转行产品经理、项目经理

Git 实战分支版本管理策略 | TBD++ Flow的更多相关文章
- Git之分支创建策略
分支策略:git上始终保持两个分支,master分支与develop分支.master分支主要用于发布时使用,而develop分支主要用于开发使用. 创建master的分支developgit che ...
- Git 分支管理策略
分支管理策略 下面我们来说一下一般企业中开发一个项目的分支策略: 主分支 master 开发分支 develop 功能分支 feature 预发布分支 release bug 分支 fixbug 其 ...
- Git工程开发实践(四)——Git分支管理策略
A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...
- git版本管理策略及相关技巧(A)
公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月的踩坑和填坑, git 操作颇显成熟. ...
- 梳理git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
- git分支管理之分支管理策略
分支管理策略 阅读: 246888 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就 ...
- git多人协作式开发时分支管理策略
什么是 git-flow? Git Flow是一套使用Git进行源代码管理时的一套行为规范 主分支Master 首先,代码库应该有一个.且仅有一个主分支.所有提供给用户使用的正式版本,都在这个主分支上 ...
- git 分支管理策略 与 物理实现 --author by阮一峰 & 小鱼
-------------------------下面是阮一峰博士的git branch 逻辑结构图示---------------------------------------------- 如果 ...
- Git(五):Git分支管理策略
转:http://www.ruanyifeng.com/blog/2012/07/git.html 如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control ...
- [转]Git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件, ...
随机推荐
- C++工厂方法模式讲解和代码示例
在C++中使用模式 使用示例: 工厂方法模式在 C++ 代码中得到了广泛使用. 当你需要在代码中提供高层次的灵活性时, 该模式会非常实用. 识别方法: 工厂方法可通过构建方法来识别, 它会创建具体类的 ...
- 华为云计算灾备产品BCManager 及eBackup的组网方式
BCManager的作用 OceanStor BCManager是面向企业数据中心存储容灾业务的管理软件,实现容灾.双活.两地三中心等容灾环境的管理,具备多种数据库应用与虚拟化环境的容灾管理功能,简单 ...
- TDengine概述以及架构模型
TDengine TDengine是一个高效的存储.查询.分析时序大数据的平台,专为物联网.车联网.工业互联网.运维监测等优化而设计. 您可以像使用关系型数据库MySQL一样来使用它. TDengin ...
- Windows Server Backup保留副本数量的问题
在配置Windows Server Backup的时候可以配置备份时间点和备份存放位置,但是无法配置保留备份的数量.作为微软提供的一个基本的备份工具,做简单的备份还是可以的.但是对于同一备份任务,反复 ...
- KVM 下如何关闭 virbr0
安装KVM 后都会发现网络接口里多了一个叫做 virbr0 的虚拟网络接口: 这是由于安装和启用了 libvirt 服务后生成的,libvirt 在服务器(host)上生成一个 virtual net ...
- mysql8数据库修改root密码,以及创建用户遇到的坑,开启远程登录,用navicat进行mysql的远程连接,mysql8.0默认编码方式,部分参数配置查询命令
yum 安装MySQL8 echo "删除系统默认或之前可能安装的其他版本的 mysql" for i in $(rpm -qa|grep mysql);do rpm -e $i ...
- Jenkins忘记管理员密码怎么办
一.admin密码未更改情况 1.进入/root/.jenkins/secrets/目录,打开initialAdminPassword文件,复制密码: 2.访问Jenkins页面,输入管理员admin ...
- service的dns记录
当您创建一个 Service 时,Kubernetes 为其创建一个对应的 DNS 条目.该 DNS 记录的格式为 ..svc.cluster.local,也就是说,如果在容器中只使用 ,其DNS将解 ...
- 15. Fluentd输入插件:in_tail用法详解
in_tail输入插件内置于Fluentd中,无需安装. 它允许fluentd从文本文件尾部读取日志事件,其行为类似linux的tail -F命令(按文件名来tail). 这几乎是最常用的一个输入插件 ...
- C#并发编程-3 并行编程基础
如果程序中有大量的计算任务,并且这些任务能分割成几个互相独立的任务块,那就应该使用并行编程. 并行编程用于分解计算密集型的任务片段,并将它们分配给多个线程.这些并行处理方法只适用于计算密集型的任务. ...