一、背景 统一规范后,对于后面的一系列的开发过程由系统完成,从而提高研发效率,避免各种意外情况。 二、分支管理 master分支对应线上,系统上线时。 平时进行需求开发、线上bug修复(可以理解为特殊需求),大多数情况下都需要基于master分支拉取特性分支。 1.分支命名规范: 支命名需要具备一定的可读性,“分支信息-名字简写”,分支信息应做到言简意赅,全英文描述,多个单词使用“-”进行连接。
2.分支类型概述
每次需求开发,都从master拉自己的特性开发分支,进行本地开发和单元测试,通过后再merge到dev分支,发布dev环境进行联调和冒烟测试。 三、研发流程 1. master->个人特性开发分支->dev 每次需求开发,都从master拉自己的特性开发分支,进行本地开发和单元测试,通过后再merge到dev分支,发布dev环境进行联调和冒烟测试。 2.test:个人特性开发分支->test 冒烟通过后,转测试,先将远端test分支checkout到本地(保证最新代码),然后将个人特性分支merge到本地test分支,解决冲突后,再将本地test分支push到远端test。 注:出现和别人代码冲突的,请第一时间咨询对应的开发同事,解决冲突,禁止暴力覆盖别人的代码 3.staging:个人特性开发分支->staging 经测试验证通过后,转UAT,先将远端staging分支checkout到本地(保证最新代码),然后将个人特性分支merge到本地staging分支,解决冲突后,再将本地staging分支push到远端staging。 注:staging分支上的代码是本次迭代需要上线的代码,如果不是,则不可出现在staging分支 两两互相review 4.staging->master 经UAT验证通过后,达到测试的上线标准后,将staging分支merge到master,在push到远端master。 注:这样才能保证上线的代码和UAT验证通过的代码是一致的,减少再次回归的重复工作。 5.master->fix 线上发现问题,需要修复的,从master分支checkout出fix-{xxx}分支,进行bug修复,修复完毕后,走上面1-4步的研发流程。 6.master->tag 发布上线完成后,打tag标记, 进行归档。 四、commit 格式- 需求任务:story#xxx {内容}
- bug任务:bug#xxx {内容}