Git管理
标签作为版本主线;
分支作为开发主线;
背景:在一个前端项目中,多个小组开发多个系统。git分支管理有些混乱。
关于功能与版本的管理
在这里所有分支都是围绕标签在开发,打标签后封板了,以后要改bug 也是基于这个标签版本新建fix/bug分支改; 不用担心功能代码互串。
达到建立分支的标准是什么?
- 有条件的新模块,可基于现有分支再建分支【feat/分支名】 已打标签;
- 线上运行出bug了。基于该版本标签建立分支【fix/分支名】; 基于标签建立分支
git checkout -b [分支名] [标签名]
如:git checkout -b version1 v1.0.0
- 如有文档,也建立文档分支【doc/分支名】 …待补充
建立分支后,如何管理大小系统的版本?
前面提到标签作为版本控制;
tag 作为主线至关重要,所有标签都必须有备注,写明该tag版本功能点;
为避免出现branch 与 tag 互串,请遵循命名规则。
关于tag版本号
a.b.c-xyz
a 为主版本号, 不过一般版本号 0 不作为正式版本发布, 并且版本之间不一定实现兼容
b 为次版本号, 在此版本上有一些功能性的区分
c 为修订号, 可以进行比如一些bug上的修正
xyz 的部分为一些更细节的标注等,不过这些有标注的版本号按照规定是低于正式的版本号的, 比如 1.1.1-beta 是低于 1.1.1 的.
根据业务需求,版本号前面加业务名称,如: tag.XXX.v1.0.0
什么时候可以删除分支了?
本期功能点【feat:分支】已开发完毕;
基于tag建立的【fix:分支】已修复;
标签应该在什么时候打?
本期功能点【feat:分支】已开发完毕;
基于tag建立的【fix:分支】已修复;