为了规范管理代码以及规范环境管理等,代码分支和TAG根据文档说明进行创建;此文档适用于大部分项目。
(一)分支说明
- master——最为稳定功能最为完整的随时可发布的代码;
这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改。
- develop——永远是功能最新最全的分支;
这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支。
- hotfix——修复线上代码的 bug;
当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release。
- feature——某个功能点正在开发阶段;
这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release。
- release——发布定期要上线的功能;
当你需要发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支。
日常场景:
1、正式环境出现紧急bug需要马上修复,这个时候从线上环境master拉一个分支版本以hotfix为前缀命名,经过测试后直接发布至线上版本,上线完毕提交申请将该分支合并至devlope和master。
2、有新需求或者有一个大功能要开发,这个时候需要从devlope拉一个分支版本以feature-功能名命名,经过测试后可以申请合并至devlope。(日常debug或大改造可以同此场景)
3、正式发布,当临近产品更新发布时候需要在devlope拉一个以release为前缀的分支,并在这个分支做最后的完善。然后发布该分支版本,上线后申请将该分支合并至devlope和master分支。
4、 master 和 develop 分支会进行保护,无法push,不开发merge和push功能;由有权限的管理员统一管理。提交分支合并申请后,管理员收到申请将分支在gitlab上合并。
分支创建以及合并流程:
1、分支的创建由项目经理进行分支的创建;
2、release分支由项目经理进行分支的合并;
3、hotfix分支由修改人员进行分支的合并请求,项目经理进行分支的合并操作;
(二)Tag定义
Tag 使用时间来定义;(xx.210301.0904)xx为自定义标识;
优点:可以使tag不冲突,无需查找最新的tag到哪个版本了;