源码版本控制
- 按照适当的颗粒度制定项目节点
- 拆分节点下的任务
- 版本号规则
节点.状态.任务
- 颗粒度:项目模块
- 待打包文件提交:
节点.状态.汇总号.release
- 节点顺序:按照开发时间排序
- 节点状态:开发状态用0表示,完成状态用1表示
- 任务:为开发任务编号
- 版本说明:节点开发状态使用
节点.0.任务
,节点完成状态使用节点.1.0
- 版本兼容:新节点对旧节点应兼容,本节点内的任务无需兼容,例如2.0.1应兼容1.1.0,而3.0.2不必兼容3.0.1
package版本控制
- package通常包含多个任务的汇总
- package版本通常基于源码版本
- 版本号规则
节点.状态.汇总号
- 颗粒度:月/周/日
- 任务汇总号:为递增的正整数
- 任务汇总说明:发布packge时,需要说明汇总的任务列表
- 跨节点的情况:跨节点发布时,应保证上一个节点已封版,新节点需要兼容旧节点
- 不跨节点的情况:通常需要兼容旧版本,移除、修改、屏蔽旧功能时需要详细说明
hot fix
- hot fix 基于package
- 版本号规则
- 同步到源码和package规则
- 源码:同步完之后提交
节点.状态.[汇总.fix]
,下次任务提交时去除[汇总.fix]
- package:重新打包源码之后提交
节点.状态.[汇总.fix]
,重新验证bug
源代码提交说明
- 普通提交:不需要更改版本号
- 完成任务提交:更改任务号
- 待打包提交:提交为
待打包文件提交:节点.状态.汇总号.release
,参照 package版本控制
相关工具
- 源码版本控制:sourceTree配合git flow
- package版本控制:git钩子、jenkins
转载于:https://juejin.im/post/5c344405f265da613b6ff22a