Git工具代码分支管理和上线发布流程
2019-09-13 22:14:30 152 举报
AI智能生成
公司常用git操作规范
作者其他创作
大纲/内容
1. 测试环境
1-0. 本地线下开发环境
1-1. 线上delevop环境: 开发测试使用功能特性分支
1-2. 线上准生产或预发布环境:用于发布新版本前,测试功能 预发布前测试
1-3. 线上生产环境
2. 版本号管理
2-1. 当修复一个小bug,则版本号的第三位自增1,如v 0.0.2
2-2. 当新增一个功能特性,则版本号第二位自增1,如 v 0.1.2
2-3. 当有新的模块或框架大调整时,则版本号第一位自增1,如v 1.1.2
3. 版本更新列表
3-1 每次发布新版本需列列出所做变更更 Version.txt或者用readme.md里做对应说明,列明时间版本号,如v 0.0.1 2018-9-5
3-2. 系统首次上线,测试根据version.txt或者readme.md的变更进行release新发版本测试跟踪
4. 版本分支
4-1 master(主支)
hotfix
命名规范
创建自
合并到
说明
4-2 develop(测试分支)
feature
命名规范
创建自
合并到
说明
realease
命名规范
创建自
合并到
说明
4-3 feature(新功能分支)
4-4 release
4-5 hotfix
5. 各分支功能
master
feature-xxx
develop
release
bugfix-xxx
6. 注意事项
1. master主分支要打tag,tag更更新按版本号规则进行
2. 每次hotfix,合并到主分支master,tag版本第三位⾃自增1,同时hotfix也要merge到develop分支
3. 从开发develop开分支预发布release时,命名也按版本号进⾏行行,tag版本第二位自增,如release-V0.1.2
4. 测试发现预分⽀支版本release-V0.1.2有bug时,在该分支上修改bug,release测试通过后,将其merge到develop分支和 master分支,master分支进行行tag V0.1.2
5. merge使用--no-ff参数。默认情况下,Git执行"快进式合并"(fast-farwardmerge),会直接将Master分支指向Develop分支。使用--no-ff参数后,会执行行正常合并,在Master分支上生成⼀一个新节点。为了保证版本演进的清晰,建议采用这种做法
6. 提交描述的时候,如果是一条正常些,如果是多个地方,分1、2、3写清相关各项
7. 添加新功能
7-1 发新功能或改进, 从develop检出本地功能分支。比如feature-xxx ,XXX为功能的代码
7-2 修改代码,添加功能
7-3 提交到本地库。commit message以 功能的代码(比如XXX)开头。比如“重新设计API接口”
7-4 本地自测,测试功能。如果有bug,修改代码未通过跳到7-2
7-5 将develop分支merge到feature分支,解决冲突,push到远程,提交pull请求
7-6 找人 review代码并merge到develop
8. 提交流程
9. 紧急修复
9-1 从master检出本地Bug修复分支。比如 bugfix-XXX
9-2 修复bug
9-3 本地测试通过
9-4 提交到本地库。commit message以 问题的代码 bug-XXX开头。比如”BUG-57 修复 版本太多显示不不全
9-5 push分支到远程
9-6 部署到线上准⽣生产环境测试通过
9-7 提交pull请求
9-8 找人 review代码并merge到develop、master,master打tag
9-9 部署到⽣生产
10. 发布新版本
10-1 给develop添加tag:v+版本号+a
10-2 从develop检出release_latest
10-3 部署到线上develop开发环境测试 【QA】开发环境多feature集合测试
10-4 QA测试人员测试,如有bug,按照 修复bug流程 修复,并merge到release_latest。重新部署
10-5 测试通过给release添加tag:v+版本号+b 【QA】准生产环境预发布测试
10-6 部署到准⽣生产测试环境,线上准生产测试
10-7 如有bug,按照 修复bug流程 修复,并merge到release。重新部署
10-8 给release添加tag:v+版本号
10-9 发起pull请求,merge到master,master打tag,部署到生产
11. 代码部署
部署测试
正式部署
12. 代码回滚
0 条评论
下一页