iOS 分支管理规范

前言

经过产品不断的折磨,终于形成成熟的分支管理规范。在此分享给大家。

按照项目开发流程,假定由 xiaoHong 和其他 X 位同事负责 1.1.0 版本的研发工作,每个阶段分支管理如下:

阶段一 : 开发周期

- 主开发分支:从 develop 分支创建 feature/1.1.0 分支(若没有 develop 分支则从 master 分支创建)。
- 模块开发分支:从主分支 feature/1.1.0 创建自己的模块开发分支 feature/1.1.0-kyc。模块开发完成后合并到主开发分支 feature/1.1.0。
- 个人开发分支:从模块开发分支 feature/1.1.0-kyc 创建自己的开发的分支 feature/1.1.0-kyc-xiaoHong。开发完成后合并到模块开发分支 feature/1.1.0-kyc。

备注:如果是多模块开发,需要单独建立模块分支,减少代码耦合。方便按需上线单独模块。

阶段二 : 测试周期

- 主开发分支:将 feature/1.1.0 合并到 develop 分支, 然后从 develop 分支创建 release/1.1.0 分支。
- 个人开发分支:从 release/1.1.0 创建自己的开发分支 release/1.1.0-xiaoHong。开发完成后合并到主开发分支。

阶段三 : 版本发布

- 从 release/1.1.0 发布版本,发布后将 release/1.1.0 分支合并到 master 和 develop 分支,并在 master 分支打 1.1.0 的 tag。

阶段四 : 线上紧急修复

- 主开发分支:从 1.1.0 的 tag 创建主开发分支 hotfix/1.1.0 分支。
- 个人开发分支:从 hotfix/1.1.0 分支创建 hotfix/1.1.0-xiaoHong 个人开发分支,开发完成后合并到主开发分支。
- 使用 hotfix/1.1.0 分支发布紧急修复版本,发布后合并到 master 分支,并打 tag。

总结

  • 每位开发要基于个人分支开发,不可使用主开发分支
  • 常用分支类型与意义:
master : 每次发布版本
develop : 开发分支
feature/x.x.x : 开发周期主分支
release/x.x.x : 测试周期主分支
hotfix/x.x.x : 紧急修复主分支
  • commit log 要写完整的变更内容,根据类型添加前缀
功能变更:feat:xxx
Bug修复:fix:xxx
功能优化:opt:xxx
  • 版本发布后要及时合并代码到 master 分支,并打 tag
  • 及时清理不再使用的分支

意义

  • 清晰的分支树,方便版本管理
  • 模块间减少耦合,可单独上线完成开发的模块
  • 历史版本和修改追溯
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,816评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,050评论 2 59
  • 最近在看一本小说《帝逆洪荒》,写的主要是一个现代人周天穿越到封神时期成为纣王的故事。故事中重新解读了人类的武侠,将...
    移动开发_ziank阅读 324评论 0 0
  • 【shell通配符】 *匹配任意一个/多个字符 ls *.txt 2.?匹配任意单一字符 ...
    夏日橘子冰阅读 237评论 0 0
  • 书海神尺,懒瓜哥(language)神翻之路,用一个月构建一个英语、国学经典共学体系。 中国的学生,...
    小溪终入海阅读 123评论 0 5