git分支选择的优缺点

TBD

  • 特点:主干开发,分支发布,小改动提交
  • 对于开发者的好处:少了本地分支的merge过程
  • 对于可持续集成的好处:每次提交改动小,提交频繁,可以方便ci
  • 对于开发者的坏处:对于需要提交多次的一个feature,feature未完成之前,需要开发者设计这个feature的开关,用来隐藏feature未实现之前进行的ci,代码中就多了很多的if…else,对代码的优美性和维护有所影响;对开发者来说还需要考虑怎么完美的设计该开关,对开发者的设计水平有所要求

这种分支模式对于我们团队来说不方便选择的因素有:1.团队开发者水平有限,可能会设计出不好维护的很多开关

github-flow

  • 特点:分支开发,主干发布
  • 对于开发者的好处:对于一个feature,直接新开一个分支进行开发,不需要开发者设计feature开关
  • 对于开发者的坏处:需要做本地merge的操作
  • 对于可持续集成的坏处:可能一次性提交的代码比较多,就可能造成ci长时间不过,会导致主干代码不能保持可持续发布

这种模式适合我们我们团队的原因:1.我们现在还没有可持续集成的能力,不需要考虑可持续集成 2.不需要考虑我们的代码设计能力 3.唯一要考虑的就是本地merge的能力,merge之前在主分支先git pull,然后merge时最好用git merge --squash命令来减少提交记录,这些命令是死的,操作一次后续就会操作了,影响不大

gitlab-flow

  • 特点:分支开发,主干发布或者分支发布,针对不同的运行环境,用不同的发布分支
  • 对于开发者的好处:对于一个feature,直接新开一个分支进行开发,不需要开发者设计feature开关
  • 对于开发者的坏处:需要做本地merge的操作
  • 对于可持续集成的坏处:可能一次性提交的代码比较多,就可能造成ci长时间不过,会导致主干代码不能保持可持续发布
  • 对于运维的坏处:需要清楚测试环境的、预生产环境的、生产环境的不同分支发布版本,分支较多,增加运维人员的繁琐程度。

这种模式不适合我们团队的原因:这种模式基本和github-flow一样,唯一的区别就是发布版本分成多个环境,其实我们的环境也分多个环境,但是为了保持多个环境一样的版本,我们决定不采用这种模式,因为怕多个发布版本可能导致不同环境的版本不一致

git分支模式选择分析(参考阿里技术公众号文章)相关推荐

  1. 公众号运营情况分析 DAY01(获取公众号文章阅读量、在看和评论内容)

    1.分析背景 公众号的红利期有没有过,火热的公众号市场到底有多少受众,费心费力编写的公众号文章到底有没有人看,是真的起到了宣传教育的效果,还是单位自娱自乐.给领导算KPI的工具,我们要一探究竟. 市场 ...

  2. 公众号运营情况分析 DAY02(获取公众号文章阅读量、在看和评论内容)

    我们继续,上次是用fiddler找到了想要的阅读数,和在看数,再回顾一下,顺便把数据找全. 对于文章 https://mp.weixin.qq.com/s/tvD9xz6kywtcmbKQV7SnCw ...

  3. 实现页面适配_微信公众号文章页面适配深色模式

    最近安卓微信7.0.10正式版发布,更新过后,很多用户发现,之前在测试版中对系统深色模式的适配功能被取消了,小伙伴们对此很是不满,好在Android 10系统手机用户占比很少,影响范围还不是很大,并且 ...

  4. 【TUN模式】对QQ或者微信域名、QQ邮箱、微信公众号文章、微信开发者社区相关的网站访问非常慢、图片加载不出来、网页空白的解决方案

    一.问题背景 最近在电脑上登录微信时,或者浏览微信公众号的文章时,经常出现卡顿得出不来图片的情况,即使出来了也是排版异常. 二.研究现状(哈哈哈哈科研人的写作习惯?) 目前网上有些大咖对这个问题给出的 ...

  5. 推荐几个比较骚的技术公众号【文末福利】

    nIT行业技术变更周期越来越快,作为技术人最重要的是持续学习,现在的学习途径有很多,我们到底该如何做出选择?我觉得最重要有两方面:第一,需要保持良好的技术视野,持续关注行业内技术新动向:第二,多向IT ...

  6. 我为什么开始写技术公众号

    现如今,工作中繁忙且无尽的需求,快速演变的技术架构和编程语言,让越来越多的软件开发技术人在这样的快节奏中迷失了自己,"迷茫"."焦虑"越来越多频的出现在各种交流 ...

  7. 给大家推荐一个优质Linux内核技术公众号-Linux阅码场

    作为一个Linux 技术公众号的作者,我觉得有义务推荐优秀的公众号,推广内容,希望对大家的学习有所帮助~ Linux阅码场是一个专注Linux内核和系统编程与调试调优技术的公众号,它的文章云集了国内众 ...

  8. 【技术应用】java通过url爬虫获取公众号文章内容

    [技术应用]java通过url爬虫获取公众号文章内容 一.前言 二.解决思路 三.爬虫工具 四.代码实现 1.爬取公众号文章 2.爬取CSDN文章 五.总结 一.前言 平时在微信或者钉钉发送消息时,会 ...

  9. java 关注公众号_推荐10个值得关注的技术公众号

    原标题:推荐10个值得关注的技术公众号 今天推荐一些行业内优质的技术公众号,这些号的主人在技术圈深耕多年,关注这些技术号可以让系统了解学习他们分享的技术经验,让我们的技术提升事半功倍. 程序员内推圈 ...

最新文章

  1. 一流的管理者,都具备非凡的洞察力
  2. 计算机基础学习必看书籍汇总
  3. spring boot中修改默认端口号
  4. QT的QModbusResponse类的使用
  5. 同时支持来自多个源头的域名的跨域调用
  6. SpringMVC 基于注解的Controller详解
  7. P7518-[省选联考2021A/B卷]宝石【主席树,二分】
  8. Python namedtuple(命名元组)使用实例
  9. Error:Trailing spaces not allowed no-trailing-spaces
  10. XP共享拒绝访问,全面解决
  11. I.MX6 android 获取framebuffer信息
  12. maven项目打包成可执行的jar
  13. 字符串的查找删除 详解(C++)
  14. 应用程序中主键ID生成与UUID
  15. MySQL中关于超键,主键和候选键的区别
  16. 自学python的痛楚,来报团报吧
  17. 那些年啊,那些事——一个程序员的奋斗史 ——69
  18. 7-1 页面置换算法--FIFO (50 分)(思路详解)
  19. Amazon vs Google 云服务
  20. 词法分析扫描器的设计实现

热门文章

  1. 大师级设计师才会的这个CAD技巧,你会吗?
  2. imx6dl系统每次启动MAC地址都不一样
  3. 恢复刚被误删QQ好友的方法
  4. jmeter之beanshell sample使用
  5. Redis与Memcached的区别
  6. 利用scat进行数据导入
  7. SQL注入漏洞提交报告(示例)
  8. ABAQUS软件动力分析模块对钻柱-钻头-岩石系统进行仿真模拟
  9. Android 智能TV电视系统遥控器键值添加
  10. 目前最好的python教程_椒目_椒目的功效与作用 - 中药查询