Git开发、发布流程

项目的规模都是有小到大,从单一模块开发,到多个模块并行开发;从多个模块开发完成集中测试发布,到模块可配置测试发布。这些开发和发布流程都少不了版本管理工具。版本管理工具有很多种,从刚开始工作接触到的CVS到SVN到现在用的GIT,由于目前公司用的是GIT,所以分享一下公司现在GIT的开发和发布流程。

平安健康Git开发、发布流程

Master

master永远都是发布版本的最新代码。
master永远都是通过合并分支来改变,不允许提交代码。
master发布完需要添加标签,标签为当前的版本号。
这样做的好处是为了更清楚的找到每个版本对应的代码,如果以后想做热修复可以直接将对应版本号的标签分支出来修改。

Vx.x.x_Develop

当有新版本需要开发,从Master上建分支并且修改代码的VersionName和VersionCode提交。
例如:现在开发V1.7.0,我们从Master上拉取分支创建V1.7.0_Develop.不允许在develop分支上直接修改代码进行提交,develop只能通过合并module和hot_fix分支进行改变,这样才能解决动态发布。

Vx.x.x_Release

这个分支是和Develop分支一样都从Master上建分支并且修改代码的VersionName和VersionCode提交。这个分支的作用主要是解决动态发布。什么是动态发布,举个栗子:假如并行开发两个功能模块moduleA、moduleB,在测试完成准备发布同时,由于公司层面或者一些其他原因导致moduleB不能上线,只单独上线moduleA。这样我们将moduleA分支合并到Vx.x.x_Release分支,由于代码的修改只在各自的module分支上进行修改,所以合并之后的Vx.x.x_Release+moduleA就是经过测试可以发布代码,经过简单的回归测试就可以进行发布了,发布之后将Vx.x.x_Release合并到master上并且添加当前发布版本号的标签。

Vx.x.x_Hot_Fix

hot_fix是用来做线上版本热修复的分支,一般都是从master分支出来的。假如要修改V1.7.0的bug,就从master标签为V1.7.0拉出来hot_fix分支,进行修改代码、测试,发布补丁包之后将hot_fix合并到master和develop上,保持master和develop是最新的代码,最后删除hot_fix分支。

Vx.x.x_ModuleX

根据功能进行分支moduleA、moduleB、moduleC等等,如果存在develop分支那么就在它上分支出来,如果develop不存在那么就在master上拉出分支。在开发测试阶段任何对代码的修改都需要在各自的module上进行,修改完成在合并到develop上进行测试,当版本发布了删除对应的module分支。

总结:

以上开发、测试、发布流程不是最好的但是能解决我们公司当前的多模块并行开发,选择模块上线发布的需求,如果有好的建议大家可以一起分享。
注意:不允许在develop上进行修改代码提交,更禁止在master上对代码进行修改提交。develop只允许通过合并module和hot_fix分支进行修改,master只允许通过合并发布之后的develop和发布之后的hot_fix分支进行修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git分支管理 master:主分支,当前分支上的代码随时可以直接发布,并且只能通过Pull Request从其他...
    UEUEO阅读 9,765评论 5 33
  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,484评论 2 8
  • 我们班下课的很准时,但隔壁班就没那么好运了。我偷偷的趴在他们班窗户那里看着,但是听不到里面说的什么。 宇看我这样直...
    爱梦的我阅读 178评论 0 0
  • 晚上聊天某大神表示担心自己一年后毕业了找不到工作,拿不到户口,找不到媳妇儿 我只想跟他说:哥,我觉得找工作拿户口找...
    鸿志云万里阅读 255评论 0 0
  • 近期读了一篇关于小白如何写出好文章的短文,结合以前读过的文章,心有所感,遂整理了一份小白如何写出好文章的清单(以下...
    起子先生阅读 626评论 1 7