细聊工作中常见的分支开发模式
1. 前言
相信大家一直都在困惑,我们日常工作是如何进行代码开发工作的,以及我们的代码是如何部署到线上服务器的,其实这里有一个很重要的点,也是很多人都会忽略的点,那就是分支开发模式,分支开发模式一共分为三种,分别是:主干开发,主干发布;主干开发,分支发布;分支开发,主干发布。下面我就给大家讲解一下这三种开发模式的具体是怎么做的,他们的优缺点是啥,以及适合的场景和团队
2. 主干开发,主干发布
主干进行开发,主干进行发布,需要频繁的向主干进行提交代码,最少一天提交一次
优点:分支管理简单,合并代码冲突少,开发周期短
缺点:学习成本高,对团队要求严格,容易污染主分支,阻塞发版
适合团队:对代码质量要求高,需要有完善的自动化测试平台;高标准的代码评审机制;一般都是基础建设齐全的大公司,比如(google,腾讯)
3. 主干开发、分支发布
- 开发人员将写好的代码提交到主干
- 当新版本的功能全部开发完成或者已经接近版本发布时间点的时候,从主干上拉出一个新分支
- 在这个新的分支进行集成测试,并修复缺陷,进行版本质量打磨。当质量达标后,在对外发布改版本
优点:合并代码冲突少,开发周期短,主干分支不用担心污染问题
缺点:学习成本高,对团队要求严格,存在多个发布分支并行,不容易维护线上代码
适合团队:可能更适合ToB领域的业务,因为ToB领域的业务需要针对企业做定制化配置
4. 分支开发,主干发布
- 团队从主干拉出分支,并在分支上开发软件新功能或者修复缺陷
- 当某个分支上的功能开发完成后要对外发布版本时,才合入主干
- 通常在主干上进行修复缺陷,质量达标后,再将主干上的代码进行打包发布
存在两种模式,分别是:特性分支开发模式和团队分支开发模式
特性分支开发模式指的是,每个人拉出自己需求的分支,独立开发,当进行测试或者上线的时候合并到测试分支和主干分支
团队分支开发模式指的是,一次需求,一个团队拉出一个分支,大家一起开发,当需要测试或者上线的时候合并到测试分支和主干分支
优点:适合新人,学习成本低,分支之间相互独立,不会污染主干
缺点:分支管理麻烦,合并代码冲突会增加,开发周期长
适合团队:中小型公司,基础建设不完善的公司
5.总结
经过前面对三种开发模式的分析,可以得到以下结论
主干开发、主干发布 更适合基础设施完善的大型公司
主干开发、分支发布 更适合ToB领域的公司
分支开发、主干发布 是一种最广泛的应用,适合各个公司,对新人比较友好
相关文章
- 【玩转 Cloud Studio】下一代开发模式 CloudStudio远程开发使用实践
- Android基于DataBinding+Koin实现MVVM模式页面快速开发框架
- 魔豹联盟佛萨奇2.0矩阵模式系统开发玩法介绍代码部署
- 浅谈metaForce佛萨奇2.0版本模式系统开发
- BSC链智能合约质押挖矿模式系统开发
- 关于代币增发复利DAPP模式制度系统开发逻辑分析(原理概念)
- 概述代币增发模式DAPP系统开发搭建(现成演示版)
- 浅谈LP质押模式系统开发的DAPP模式方案
- 单例模式与静态方法_静态内部类单例模式原理
- hybrid开发模式
- 单例模式的四种实现方法
- 佛萨奇2.0系统丨佛萨奇dapp智能合约系统开发(详情)丨佛萨奇2.0源码模式
- 佛萨奇公排系统模式开发源码部署(Demo)
- FRE的扬帆启航——腾讯数据中心设施运营开发模式初探
- 【Android 应用开发】Paint 图形组合 Xfermod 之 合成模式表示方法 ( Xfermod 使用步骤 | 透明度 颜色值 公式表示方法 | 老版本表示方法 | 合成区域分块 )
- 【Netty】Netty 简介 ( 原生 NIO 弊端 | Netty 框架 | Netty 版本 | 线程模型 | 线程 阻塞 IO 模型 | Reactor 模式引入 )
- Fintoch分投趣模式系统开发/区块链DAPP合约
- 精彩回顾 | DTC模式构建全域消费者增长指南
- SQLServer 错误 2596 未处理修复语句。 该数据库不能处于只读模式。 故障 处理 修复 支持远程
- activity的启动模式和栈管理详解手机开发
- 拯救你的Linux:进入救援模式(linux系统救援模式)
- Linux自动部署:改变IT运维模式(linux自动部署)
- 模式Linux的分支模式:实现跨平台开发的利器(linux的分支)
- 实战案例: 实现双主的LVS-DR模式
- 硬核观察 #356 微软计划为 Edge 浏览器提供“超级无敌安全模式”
- smarty+adodb+部分自定义类的php开发模式
- JavaScript模式之工厂模式(Factory)应用介绍
- JavaScript的strict模式与with关键字介绍