当前位置: 首页 > news >正文

青州网站建设青州5118营销大数据

青州网站建设青州,5118营销大数据,wordpress 媒体库插件,wordpress rpc利用 扫描背景 在工作的过程中,git管理方式已经成为每一个项目开发的基础,每个项目的开发都离不开git管理方式。 但是在使用的过程中,由于对git分支管理方案的了解不深,导致会出现分支管理不明确的情况。 本文主要是做科普作用&#xff…

背景

在工作的过程中,git管理方式已经成为每一个项目开发的基础,每个项目的开发都离不开git管理方式。

但是在使用的过程中,由于对git分支管理方案的了解不深,导致会出现分支管理不明确的情况。

本文主要是做科普作用,看看主流的分支管理方式以及分析目前DumuTools上分析管理方式的不合理之处。

基础知识概述

在Git分支管理中,主要可以分为以下两类分支:

  • 主要分支

    • master(主分支)

    • develop(开发功能分支)

  • 支线分支

    • feature branch (功能分支)

    • release branch (预发布分支)

    • hotfix branch (热修复分支)

在开发的过程中,master分支就类似于一棵树的主干,而其他分支就是在这棵树上的主干所分出来的分支:

 

流程图

为什么需要一个合理的分支管理方案,我们可以举个例子来进行论证。

分支管理的Bad Case

情景再现:

首先,PM发来需求,有个项目要开始了,版本号为V1.0。

此时我们开开心心收到需求后,开始切分支进行开发:

经过老老实实的开发,测试,我们的在绿色节点的位置完成了项目的开发,目前一切顺利。

此时,PM发来了新的需求,我们需要开始做V2.0了。

收到需求后,我们又认认真真、老老实实的在V1.0的基础上,拉出来了分支,开始了开发:

在顺利的开发、测试过后,我们也顺利的把V2.0给Release出来了,目前看来还是一切顺利。

接下来我们在PM的安排下,开始了V3.0的开发,还是老样子,拉分支开始开发:

在开发的V3.0过程中,PM传来消息:V1.0当中出现严重bug,需要修复,此时我们转向修复bug,在V1.0的基础上,拉出来BugFix分支,开始修复bug:

 

经过华丽的操作之后,我们完成了bug的修复,并且发布了V1.0的bug修复版本,此时我们发现bug的修复需要合并到其他的分支上,因此我们就需要:

通知所有的开发同学,把V1.0的最新commit合并一下,确保版本稳定。

然后大家就开始合并代码。

最后我们顺利的将改动全部合并到有影响的分支上,然后开始V3.0的开发。

 

经过开发,我们此时终于完成了V3.0的released发布,然后我们又开始了V4.0的开发:

此时又又传来消息,V2.0出现BUG,需要修复!然后我们又开始了V2.0的修复:

 

修复完毕后,我们又要告知其他同学:

通知所有的开发同学,把V2.0的最新commit合并一下,确保版本稳定。

一些敏锐的同学可能很快就能注意到,此时问题就出现了:

  1. 在此分支管理方案中,没有一个明显的、稳定的版本分支存在,每次开发同学在开发时需要时刻关注其他分支的稳定情况,若对自己的分支有影响,需要合并相关分支的代码。

  2. 若出现多个分支出现问题,需要每一个被影响的分支,合并所有的修改过的代码到自己的分支上,随着项目的进行,这种合并分支的代价会变得非常大

  3. 在开发过程中,若忘记合并某一分支的bug fix,非常容易导致不可预期的问题出现。

很明显在该种方案下,我们很难去确认哪一个分支的哪一个版本是最新的、稳定的版本

借此例子,我们来看看比较规范的分支管理方案是怎么样的。

规范的分支管理方案:

规范的分支管理方案如图:

 

在一个规范的分支管理方案中,有几个主要分支:

  1. Master分支:用来保存稳定的,已经released的版本代码

  2. Develop分支:用于开发,保存了开发过程中最新的代码

  3. Feature分支:用来分功能开发,开发完成后将代码合并到Develop分支

  4. hotfix分支:用来做Bug修复的分支

首先,在这种分支的管理下,我们上面的情景就会变成以下的开发形式:

情景再现:

PM告知开始开发V1.0版本:

 

(这里我们简化了Feature分支)

在开发完成后,我们将已经Released的代码、稳定的代码,合并到了Master分支。

然后开始了V2.0的开发:

 

同样的,我们开始了V3.0的开发:

 

PM也同样的告诉我们,V1.0版本有错误,请紧急修复!

我们就一样在Master的V1.0的基础上,拉出来fix分支,进行bug fix :

 

在Bug Fix完毕后,我们就把修复后的代码commit到Master上,确保Master上代码是最新的稳定的,然后我们就可以告知各位:

通知所有的开发同学,把Master的最新commit合并一下,确保版本稳定。

这样子的话能够带来几个好处:

  1. 避免了大家每次合并代码时,都需要去了解具体的,有修改的分支代码,只要check在Master上的分支代码有何差异即可

  2. 以Master作为最新的最稳定的版本基准,其他同事参与项目的时候,只要拉master的最新代码即可开始开发,无需再次确认最新的稳定代码在哪个分支,减少沟通成本。

  3. 每次想同步代码只需要关注Master代码即可,减少信息差。

以上标准的分支管理模式在人越多的时候越能够体现它的优点。

最后

分支管理方案只是一个约定俗成的观念,并没有绝对的对错之分。

当然能用比较适合的分支管理方案,那自然是再好不过。

http://www.hkea.cn/news/474554/

相关文章:

  • 国外品牌设计网站天津疫情最新消息
  • 宁波有做网站的地方吗seo报价单
  • 深圳企业网站开发中国法律服务网app最新下载
  • 大连企业网站建站国外域名注册网站
  • 站长工具seo综合查询权重百度在线搜索
  • 伊犁网站建设评价怎样才能上百度
  • 房地产网站建设方案百度实名认证
  • 做外贸可以在哪些网站注册网络项目免费的资源网
  • 中国建设银行信用卡网站首页青岛关键词优化平台
  • 阿里云网站建设考试题目长沙网站推广服务公司
  • 甘肃建设项目审批权限网站俄罗斯搜索引擎yandex官网入口
  • 网站建设公司新员工培训ppt模板百度热门搜索排行榜
  • 仿魔客吧网站模板网址大全是ie浏览器吗
  • 网站产品后台界面怎么做湖南关键词排名推广
  • 网站数据每隔几秒切换怎么做的湖南百度seo排名点击软件
  • 网站制作先学什么百度新闻下载安装
  • 河南省网站建设哪家好免费观看行情软件网站进入
  • 粘合剂东莞网站建设体育热点新闻
  • 百度网站排名关键词整站优化培训网站建设
  • 网络平台代理seo外包 杭州
  • 东方头条网站源码免费推广软件工具
  • 北京网站建设公司分享网站改版注意事项流程优化四个方法
  • 案例学 网页设计与网站建设手机百度seo快速排名
  • 江门网站建设总部电话产品推广渠道有哪些
  • 网站建设全攻略站长之家ping检测
  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计