项目版本管理模型

作者: 我是浪子宕桑旺波 | 来源:发表于2017-02-04 09:21 被阅读0次

版本管理在软件开发过程中十分常见,如下是常见的一种最佳实践,适用于所有的版本管理系统(svn, git等)。

发布分支:

软件开发有一个典型的循环:编码,测试,发布,然后重复。过程中会遇到如下两个问题:

  1. 当测试人员在测试假定稳定版本时,开发人员需要继续开发新功能,不能因为测试而停止开发,且新开发未测试的功能也不能影响到发布版本的稳定性。
  2. 可以找到老的发布过的源代码,当线上出现bug或者有紧急的功能需要上线的时候,可以直接依赖发布过的代码进行修复,而不用等主版本的发布。

典型流程建议:

  1. 开发提交1.0版本的改动到 trunk
  2. 开发结束,团队认为软件可以准备发布,从 trunk 上拷贝出一个分支 branch_1.0
  3. 开发团队继续开发2.0版本的功能,提交到 trunk
  4. 测试团队对需要发布的 branch_1.0 进行测试,如果有bug则直接修改在 branch_1.0 上,直到该分支测试通过则停止修改。
  5. 从测试通过的 branch_1.0 上拷贝一个分支 tag_1.0 作为最新发布版本的源代码,并将 branch_1.0 的改动merge回trunk。
  6. 如果线上有bug需要修改,或者有紧急的功能需要添加上线(指上线时间必须要在2.0之前的改动),则在 branch_1.0 上进行修改,测试通过之后拷贝出 tag_1.1 进行发布,并将改动merge回trunk。
  7. 循环该流程进行版本迭代。

特性分支:

当有复杂的修改,并且不希望干扰到 trunk 的稳定性或发布计划时,就需要使用特性分支。推荐流程如下:

  1. 从最新的release分支中拷贝出特性分支,如从 tag_1.0 拷贝出 branch_new_feature,新特性相关的改动都提交到 branch_new_feature 中。
  2. 如果特性分支的开发周期比较长,则需要使该分支和 trunk 或最新的release版本保持同步,merge到 trunk 或者最新的tag到 branch_new_feature 中。
  3. 完成特性分支的开发之后,merge 回 trunk(如果和主版本一起发布),或者从最新的tag中打一个分支出来 branch_1.1,将特性分支merge到该分支中(不和主版本一起发布,所以只和最新的release版本进行merge)。
  4. merge之后的代码通过测试后就可以发布了。
  5. 删除已经merge回release的特性分支,保持仓库的整洁。

参考

Common Branching Patterns

相关文章

  • 项目版本管理模型

    版本管理在软件开发过程中十分常见,如下是常见的一种最佳实践,适用于所有的版本管理系统(svn, git等)。 发布...

  • Git 分支原来这么简单!边玩边学更轻松

    Git 可以高效地进行项目版本控制和版本管理,Git 的分支模型更被称为必杀技特性。但是繁杂的 Git 分支总是令...

  • git 常用操作

    Git是流行的分布式项目版本管理系统,利用git flow这个优秀的分支模型可以实现多人合作开发项目;在 gith...

  • 第十三章 版本管理

    版本管理指项目整体版本的演变过程管理。 版本控制指借助版本控制工具追踪代码的每个变更。 一、版本管理 版本管理关心...

  • 项目版本管理

    本片文章引用自 Pro Git 的第一章,主要目的是让大家了解到,想要全面了解、使用 Git 必须从基础出发。而 ...

  • 7 maven概念模型图

    上图本章反复参照,是maven的概念模型图。 我们首先依赖管理部分,这部分是管理软件Jar包位置及版本等,一个项目...

  • 项目管理笔记(6)文件汇总

    对于项目各阶段的文档,各公司都有固定模板。项目全过程包含众多文件,注意版本管理、版本管理、版本管理,重要的事情说三...

  • React-Native常用命令行以及插件使用

    管理RN的版本 查看版本:$react-native -v (进入项目目录,查看的就是项目版本) 更新项目版本 n...

  • django 的使用

    使用django创建项目 模型-数据库 迁移 运行项目 shell 操作数据库模型 后台管理添加后台管理账号: a...

  • 错题集1

    项目管理三角形是项目管理约束模型是一个模型,这些限制已被列为范围(或质量),时间,成本。 image.png 项目...

网友评论

    本文标题:项目版本管理模型

    本文链接:https://www.haomeiwen.com/subject/krrxdttx.html