GIT分支管理规范和流程图
2018-04-12 17:40:42 0 举报
兔展前端团队-GIT分支管理规范和流程图
作者其他创作
大纲/内容
test
QA的地盘
prod
merge
v1.0.0
修复完毕,提测
v1.0.0在test环境测试通过,部署预发布环境回归测试
回归结束,上线
新来了个小罗,插队开发zzz功能
hotfix/123
小李的锅,修bug
master
tips:1.迭代新版本时,同步package.json中的version为该版本。2.每次上线发布后,需要打tag归档,tag标签名为该版本号。
小王回测bug了
小王:新开本地feature/xxx分支,准备开发xxx
版本分支
小王的锅,修bug
fixbug/#5678
分支类别:一、主干 1.master二、version分支 1.v1.0.0 2.v1.0.1 3....三、feature分支 1.feature/xxx 2.feature/yyy建议以开发的功能命名四、fixbug分支 1.fixbug/#1234 2.fixbug/#5678#xxxx是bug系统记录的bug编号。五、优化分支 1.refactor/xxx六、部署分支 1.dev 2.test 3.prod七、hotfix分支 1.hotfix/123 2.hotfix/456
新来小罗的锅,修bug
tag/v1.0.0
feature/zzz
一天后,小李开发完毕,合并,删除。合并回v1.0.0之前,必须先把v1.0.0上的最新代码合并进来本feature
fixbug/#9010
以单版本为例
小李回测bug了
feature/yyy
一大波bug来袭
GIT分支管理规范和流程图
tag
done
发布完毕的版本,立即合并到主干,并删除自己
v1.0.0迭代开始
feature/xxx
线上代码主干
小罗回测bug了
分支规范:1.master生产代码主干,同步线上代码的历史脉络。受保护,不允许删除。不允许直接开发,只允许合并版本分支代码,限制merge和push权限。2.version分支版本迭代分支,总是从master主干创建,同步该版本全部代码(开发中、测试中)的历史脉络。生命周期从版本开始到版本上线结束,当版本生命周期结束后,立即删除。不允许直接开发,只允许合并feature分支代码,所有人可以merge和push代码。feature合并到version分支之前,总是必须要先把version分支代码合并进来。4.feature分支功能开发分支,总是从version分支创建,本地分支,按当前所开发的功能粒度化,原则上不允许推送到远程上。生命周期:从version分支新建,本地开发完毕后merge到version分支并push,然后立即删除。强烈建议feature分支按功能粒度细化,本地可能同时存在多个feature并行开发,避免其中某个或某些feature因为难以实现或延期不能随本版本上线,从而可以延长生命周期到下个版本继续进行,或者因为实现错误、实验性质的feature,导致中途抛弃。6.fixbug分支提测时的修复bug的分支,强烈建议以bug系统记录的bug编号作为分支名,且每个bug都有独立的fixbug分支。5.部署分支dev-开发环境test-测试环境prod-预发布环境、生产环境按环境建立独立的部署分支,同步当前提测代码的历史脉络。不允许开发,不允许合并feature分支代码,不允许合并其他部署分支代码,只允许合并version和hotfix分支代码,限制merge和push权限,避免污染提测环境。不要把test当开发分支用!不要把test当开发分支用!不要把test当开发分支用!重要的事情说三遍。6.hotfix分支线上热修复分支,只能由master主干签出。修复完毕bug,合并到部署分支,部署相应环境测试,测试通过上线,上线完毕,合并到master和dev主干,然后立即删除。
dev开发环境的过程,在这里省略,参考test部署环境的过程。
发布完毕,合并代码到master主干,并存档tag
小王很快开发完毕,合并,删除
小罗开发完毕,合并,删除。合并回v1.0.0之前,必须先把v1.0.0上的最新代码合并进来本feature
fixbug/#1234
v1.0.0所有feature开发完毕,准备部署test环境提测
环境部署分支
紧急热修复线上bug
测试通过,上线,合并到master,存档,删除hotfix分支
tag/v1.0.0-1
小李:新开本地feature/yyy分支,准备开发yyy
测试结束
收藏
收藏
0 条评论
下一页