版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、提纲提纲n1 分支是什么?n2 什么情况下用分支?n3 分支有几种? n4 分支模式是什么?n5 分支模式有几种?n -技术分类n -目的分类n6 FreeBSD 是如何使用分支模式的?n7 Linux Kernel 是如何使用分支模式的?n8 如何选择合适的分支模式?n -技术比较先进的?n -符合产品开发特点?n9 分支使用中经常考虑的问题?1 1 什么是分支?什么是分支?n分支:开发主线的副本,用于并行开发。n软件开发中,多个发布版本需要维护,多个平台变种需要支持。这些要求的解决,分支就应用而生:n分支是代码主线的拷贝,没有破坏基线,软件变更发生在基线的副本上,在测试完成后,这些变更在开
2、发主线和分支间同步。n分支有自己的版本记录,甚至分支。这些功能都是版本控制系统的基本功能,如CVS、SVN、GIT等等。 2 什么情况下什么情况下使用分支?使用分支?n发生软件变种l建立长分支或者嵌套分支,在主干做变更,如果分支需要这些变更,则合并。n发生缺陷修复l 用长分支修复缺陷,并合并回开发主线。n发生试验代码l用短分支,试验完合并回主干。n发生大型软件变更,代码重写l根据重写的规模,可以用长分支或者短分支。n发生产品发布l 用长分支,合并变革到主干,发布后,可以转化为缺陷修复分支。 3 分支有几种?分支有几种?n长分支:持续存在的分支,或者多次合并后废弃的的分支。 n短分支:合并回主干
3、一次而且不会再用的分支。n嵌套分支:依据分支创建分支,合并回分支或主干。-长分支的长分支的3种类型种类型n持续存在的长分支,不断合并回分支。l开发主干不受分支变更的影响,但是分支需要主干所作的变更。网站镜像可能需要这种方法。n持续存在的长分支,不断合并回干线。l这种分支可以应用在:分支不应该被持续开发的干线影响,但是干线需要分支所作的变更。无乱何种情况,只要分支是作为测试并提供发行发布版只用,就可以使用这种分支类型。l测试中的项目也可以采用次方法。把测试的内容放到分支上,再把要测试的内容放到分支上。n长分支,双向合并l分支的变更能够被整合到干线,而干线的变更也能够被整合到分支。l如果开发人员在
4、分支进行不稳定程序代码的开发工作,当每个阶段完成时,分支就可以被合并回干线,而且当分支开发人员要合并干线的变更时,也可以跟干线同步。l 当发布的代码重写,且有新功能加入干线的时候,可以采用这种做法。-长分支的长分支的3种类型种类型-短分支短分支n短分支可以做独立分支,以便用于简便的变更。l如果你想新增单项功能、撰写试验性质的代码或准备一个发布版、单一用途的短分支应该很适用。 -嵌套分支嵌套分支n在分支上再创建分支,为减少混淆,嵌套的越简单越好。n开发一组新功能,在继续前,进行测试。4 4 分支模式是什么?分支模式是什么?n分支模式是做事的步骤,是减少多任务相互冲突的协调机制。n分支模式通过控制
5、变更,实现组织开发团队进行沟通、协作的方法。n分支模式是版本控制、构建(build)、发布(release)的基础。也是任何开发过程中都必须有效解决的基础框架。n开发主线的代码根据是否成熟稳定分为: l主干代码基本稳定(basically stable) -主干稳定,分支不稳定;l主干代码基本不稳定(basically unstable) -分支稳定,主干不稳定; 5 分支模式分支模式-技术分类技术分类-主干稳定主干稳定n主干稳定( Basically stable)l干线中的代码是准备发布的代码l分支则用来开发、修复缺陷、QA、重整、试验性质代码l严格的做法:没有经过QA考验的任何内容都不能
6、合并到干线,这样可以确保无论何时都可从干线取得准备发布的版本。l宽松的做法:通过开发人员单元测试(unit test )的任何内容都可以被合并到干线。这种宽松的做法必须把准备发布的版本放到分支中,并与发布前进行全面的QA分析 。-主干稳定主干稳定n优点l任何时候都能从干线取得发布版,经过QA测试就能发布。l干线含有不会经常改变的稳定程序代码,所有你可以在分支中进行试样性质的工作,这样即使合并到干线,也不太可能造成别人的工作出错。n缺点l最大的确定是合并工作通常是QA测试人员来做,而非懂得所合并的程序的真正意义的人来做。此外,分支建立以后以及合并前,干线肯能会有大幅的变更。开发工程师周期性地从从
7、主干向分支合并或者放松分支合并的严格限制,可以减少主干稳定带来的不利。-分支稳定分支稳定n分支稳定l干线包含最新的程序代码,无乱是否稳定,而准备发布的版本则是应该被创建为分支来进行QA。l以不稳定为基础的最严格的做法是:所有的开发都在干线上进行,而分支只用于准备发布的版本、缺陷修复、以及发布版。l宽松的做法:也让分支用于试样性质的程序代码、重整以及其他特殊情况的程序代码。由分支的管理者负责把分支合并回干线。-分支稳定分支稳定n以不稳定为基础l优点:合并不会经常做,而且比较好做,通常由熟悉代码的人来做。l缺点:干线中的程序代码常会包含缺陷、试样性质的工作,有时可能无法编译。n依据分支模式可以完成
8、的应用分为: l发布分支模式;l目的分支模式;l贩卖分支模式; 5 分支模式分支模式目的分类目的分类n1 发布分支模式:同时维护项目、产品的多个变种、版本。l目录结构 软件1.0发布时,创建一个1.0的分支,隔离主干新版本2.0的开发,所有对已发布产品的缺陷维护和特新变更都在分支上进行并发布,如1.1,1.2,1.3 。 5 分支模式分支模式-目的分类目的分类n2 目的分支模式:对于每一个特性或者缺陷,或者需要,则创建分支,任务完成后,分支上代码合并回主干。n使用目的分支前,有几个问题是需要考虑的?l谁创建分支?l什么时候创建?l什么样的任务颗粒度需要创建分支?l分支如何组织管理?l以上问题,
9、没有标准答案,但是影响项目的复杂程度。n目录结构 6 FreeBSD如何使用分支模式?如何使用分支模式?n开发过程l全球约300人有写仓库的权限,一个小于10人的核心团队;lFreeBSD -CURRENT 指的是正在发展中的操作系统版本,它实在是只适合给 系统发展者 以及有毅力的 业余爱好者 使用,它终将在适当的时机成为 RELEASE。lFreeBSD -STABLE 指的是生产适用的操作系统版本,主要使用对象是对于稳定性及低变异性的需求远胜过对最新 -CURRENT 版新功能的需求者。l每次从-STABLE分支发布新版本大约4个月的时间。l特性冻结 发布前45天到发布前30天,发信通知,
10、提醒集成新的特性,这时,开发团队执行了MFC,从current合并到stable。l代码缓行 code slush, 发布前30天到发布前15天,所有提交稳定分支的代码需要评审(主要是错误修复,安全问题)l代码冻结 发布前15天,发布候选包(RC)发布,在正式发布前,每周发布一个RC。l选择可以正式发布的RC版本从stable-X发行,同时创建发布版本标签(TAG)release-X.Y和安全分支(releng-X.Y)l已发布版本的维护6 FreeBSD是如何使用分支模式?是如何使用分支模式?n发布工程介绍7 Linux Kernal 是如何使用分支模式的?是如何使用分支模式的?nLinux
11、 kernel 开发模式l一个永久的稳定分支,一个永久的开发分支(非cvs工具 Git)l当决定某个时间发布新的稳定版本,开发分支进入需求冻结期(freature freeze),当所有发现的缺陷被修复后,开发人员从冻结的开发分支上,创建了一个稳定的发布分支。l同时,立即开始新的开发的分支进行开发。l每23个月从稳定分支中发布新的版本,主要解决了缺陷修复和安全性等问题。lGit is a distributed revision control / software code management project created by Linus Torvalds, initially for
12、 the Linux kernel development.l这种模式可以满足大部分项目,但是有点官僚,通过最小化在一个时间同时活跃的分支数目,来简化开发周期。-Linux kernel Release cyclenDevelopment modell随着2.6.x的发布,Linux kernel已经转向相对严格,基于时间要求的发布模式(2-3个月将发布一个版本)l选择快速发布模式(quick release cycle)可以在几个月内将新特性、安全、驱动等集成在kernel内提供给用户。l开发团队发布2.6.19kernel作为一个稳定的发布。然后,开发人员继续新特性开发,发布供测试用的RC
13、版本,等到发布候选足够稳定,2.6.20kernel作为稳定版发布。l在新版本开发中,2.6.19中发现的缺陷和安全问题被及时在分支中维护,并作为2.6.19.1,2.6.19.2等发布。8 如何选择合适的分支模式?如何选择合适的分支模式?-技术先进?技术先进?n目的分支模式技术比较先进,更好地支持并行开发8 如何选择合适的分支模式?如何选择合适的分支模式?-符合产品特点符合产品特点志愿组织志愿组织l多分支l多合并商业组织商业组织l分支数量少于3个l合并周期少于一1周l尽量少创建分支l对进行需求的评审8 如何选择合适的分支模式?如何选择合适的分支模式?-符合产品特点符合产品特点n支持连续不间断的集成,从而保持新开发过程的稳定基准n 提交应急版本(只包括所有必要的修复)进行测试和交付用户n包含有所有必要的修复而无其它更改的测试版本发布n使应急发布对新开发过程的影响最小化n必要时,回退到以前的产品状态n现场支持多个连续版本n支持
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年临沧辅警协警招聘考试备考题库附答案详解(培优b卷)
- 2023年邵阳辅警协警招聘考试备考题库完整参考答案详解
- 2024年六盘水辅警招聘考试题库含答案详解(a卷)
- 2024年四川辅警协警招聘考试真题附答案详解(培优)
- 2024年嘉峪关辅警协警招聘考试真题附答案详解(培优b卷)
- 2023年达州辅警招聘考试题库附答案详解(能力提升)
- 2024年中山辅警协警招聘考试备考题库及1套参考答案详解
- 2024年宝鸡辅警协警招聘考试真题及答案详解(名校卷)
- 2024年城口县辅警协警招聘考试真题及1套参考答案详解
- 2024年咸阳辅警招聘考试题库及答案详解(易错题)
- 融媒体运营基础知识培训课件
- 工厂设备围栏安装方案(3篇)
- 2025年入团考试题库及答案
- 2025年北京事业单位招聘考试(水务基本常识)历年参考题库含答案详解(5套)
- 2025年工行招聘笔试真题及答案
- 租赁公司员工绩效规范规定
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战
- 联合体协议书
- 搅拌车作业安全管理制度
- 公路隧道火灾:成因、危害分析与科学救灾预案构建
- 摩托车研发项目管理办法
评论
0/150
提交评论