1.版本如何命名?
常用命名方式
- 语义化版本命名
如: 1.2.3.RELEASE
1:主版本 (重构升级,底层架构变更,兼容性问题等等)
2:主要功能开发版本(当前主版本的功能新增或调整)
3:功能bug修复
2.日历化版本命名
如:2021.1.2.RELEASE
2021:主版本 (重构升级,底层架构变更,兼容性问题等等)
1:主要功能开发版本(当前主版本的功能新增或调整)
3:功能bug修复
release: 版本的里程碑状态(开发,测试,发布等等)
2.git 分支如何命名与实践
1.版本的规划主要看公司团队人员及项目的业务
长期分支
master: 项目主版本(用户存储最近发布到生产环境的代码分支,从其他代码分支合并,不建议直接从master 修改)
develop: 项目主版本的副本(最新的开发版本,用于每个发布版本的迭代开发分支)
临时分支
feature_xxx :开发分支:功能开发分支,在develop 分支上创建,开发完成后合并到develop分支
release开头的分支:功能提测分支,在develop 分支上创建
hotfix-xxx:(紧急bug修改分支,在master分支上创建,修复完成后合并到 master)
1.项目分支演进
创建电商 项目版本0.0.1
git代码分支 master
进入开发,创建开发分支 develop(从master 分支上创建)
张三开发会员管理
李四开发商品管理
张三从develop 分支上创建分支 feature_user_张三
李四从develop 分支上创建分支 feature_product_李四
李四提前开发完提测
李四 将分支feature_product_李四合并到 develop 分支,从develop 分支再创建 release_20201230
张三完成提交测试,将分支feature_user_张三合并到 develop 分支,release_20201230分支再从develop 拉取代码
测试完成发布上线将 release_20201230 合并到master 分支,
删除feature_user_张三分支
删除feature_product_李四
删除release_20201230
如当前master 分支将迎来大改造 打个标签,tag_v1.0.0_20201230
当前出现线上bug
当线上版本出现严重的bug时,需要从master上选取特定的tag拉取代码。
在完成测试具备上线条件后,在hotfix-分支上完成版本的发布。
发布验证后,先合并到master,再合并到develop分支,删除hotfix-分支