@TOC
分支命名规范
| 分支名称 | 命名规范 | 分支说明 |
|---|---|---|
| feature分支/开发分支 | feature-yyyyMMdd-xxx | 功能分支需要从master拉,每次发布版本之后需要将master分支合并到开发分支 |
| master分支 | master | 是整个项目的基础分支,每次拉新的分支都需要从master上拉,是最稳定的分支 |
| dev分支 | dev | 只需要一个dev分支,用来汇总所有的功能分支,主要作用是部署在开发环境供开发联调使用 |
| test分支 | test | 只需要一个test分支,用来汇总所有的功能分支,主要作用是部署在测试环境供测试、需求方验证使用,当测试人员提出bug的时候开发应该在开发分支上修复问题,并在dev分支验证通过之后再合并到test分支上 |
| 发布分支/release分支 | release-yyyyMMddxxx | 每次需要发新版本的时候就从master分支拉一个release分支,然后将要发布的开发分支合并到release中去 |
| hotfix分支 | hotfix-yyyyMMdd | 从master分支拉取,用于修复一些紧急bug |
开发流程
-
从master分支拉取新分支命名为:feature-当前年月日-功能说明。
-
在feature分支进行功能开发,功能开发完成之后合并到dev分支进行联调。
-
联调完毕之后将开发分支合并到test分支提测。
-
测试通过之后准备发布,从master分支拉取release,命名为:release-当前年月日-001(当天的版本号),将开发分支合并到release分支发布。
-
合并release分支到master分支。
-
合并master分支到正在开发的分支。
优势
-
可以多个分支进行开发,合并到dev联调,test测试一个环境可以同时兼容多个版本的功能,不占用环境资源。
-
每次都从master拉取新分支,发布完成之后再合并到master可以减少代码冲突。
-
通过release分支发布如果有UAT环境则生产和UAT都用release分支发布,保证代码一致性,在UAT就容易发现代码问题。
-
通过release分支发布容易进行回滚操作。