在企业团队开发过程的GIT代码版本控制规范

173 阅读2分钟

@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

开发流程

  1. 从master分支拉取新分支命名为:feature-当前年月日-功能说明。

  2. 在feature分支进行功能开发,功能开发完成之后合并到dev分支进行联调。

  3. 联调完毕之后将开发分支合并到test分支提测。

  4. 测试通过之后准备发布,从master分支拉取release,命名为:release-当前年月日-001(当天的版本号),将开发分支合并到release分支发布。

  5. 合并release分支到master分支。

  6. 合并master分支到正在开发的分支。

优势

  • 可以多个分支进行开发,合并到dev联调,test测试一个环境可以同时兼容多个版本的功能,不占用环境资源。

  • 每次都从master拉取新分支,发布完成之后再合并到master可以减少代码冲突。

  • 通过release分支发布如果有UAT环境则生产和UAT都用release分支发布,保证代码一致性,在UAT就容易发现代码问题。

  • 通过release分支发布容易进行回滚操作。