Git开发、发布流程

作者: 码农一颗颗 | 来源:发表于2017-08-08 11:28 被阅读599次

项目的规模都是有小到大,从单一模块开发,到多个模块并行开发;从多个模块开发完成集中测试发布,到模块可配置测试发布。这些开发和发布流程都少不了版本管理工具。版本管理工具有很多种,从刚开始工作接触到的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开发、发布流程

    项目的规模都是有小到大,从单一模块开发,到多个模块并行开发;从多个模块开发完成集中测试发布,到模块可配置测试发布。...

  • 多人开发的 Git 流程

    比较清晰的多人开发的 Git 流程博文:多人开发的 Git 流程 A successful Git branchi...

  • iOS团队开发 git使用管理

    Git iOS 多人开发 git - xcode 团队开发 iOS开发中的Git流程(动态演示)

  • GIt 常用操作指令

    《Git 使用规范流程》 《常用 Git 命令清单》 《Git 远程操作详解》 《Git工作流程》 开发过程中,用...

  • Git 02 开发流程

    理解版本将开发流程 ======== 代码开发流程 系统开发,编写代码 提交代码给Git本地库 将代码提交到Git...

  • 笔记 | 关于 IDEA 中 Git-Flow 插件的使用

    背景 用 Git 管理代码版本,希望 开发-发布 流程更加规范,至少在多人协作的项目上,需要防止开发时的代码合并问...

  • Git使用规范

    开发流程 $ git checkout master# 切到master分支 $ git checkout -b ...

  • git 实用手册

    git 开发流程 配置个人信息$ git config --global user.name "用户名"$ git...

  • Git Dev Flow

    Git Dev Flow Git开发流程是一个以特性分支开发,结合极限编程的开发模式。 develop Model...

  • 《JavaScript Web应用开发》笔记

    开发流程效率和监视变动是开发流程的重点 发布流程在发布流程中,我们关注的是性能优化,以及构建整体测试良好的应用,这...

网友评论

    本文标题:Git开发、发布流程

    本文链接:https://www.haomeiwen.com/subject/uibalxtx.html