1.创建分支的意义
创建分支的意义,比如我们在一个基础平台上进行开发,每个技术小组负责一个子项目,而基础平台也是有可能会继续更改的,这个时候,如果不创建分支,子项目之间会相互影响,影响最大的就是后期的测试和版本发布,子项目A已经结束,但测试却受到正在进行的子项目B的影响,测试通不过,就别说版本发布了。所以,我们需要从目前的项目(主干trunk)中创建分支(branch),隔离子项目间的相互影响。
2.svn创建分支原理
在svn中,创建分支,实际上就是一个版本拷贝(对应copyto...注意:绝不是简单在客户端上copy一个目录,而是svn仓库中copy,文件版本号会增加。),两边做任何修改发生的版本变化,是一套机制。举例:目前主干版本是100,分支版本是101,主干中增加一个文件,版本为102,分支中再增加一个文件,版本就为103了。两边的版本号是一套,不会重复。
3.svn创建分支的方法
TortoiseSVN:右键点击工程目录->TortoiseSVN->Branch/tag..菜单,FromWCatUrl自动为工程svnurl,比如https://localhost:8443/svn/fbysss/prj1/trunk,toUrl填写https://localhost:8443/svn/fbysss/prj1/branches/branch1。点OK按钮,分支就创建好了。
Subclipse:Team->Branch/tag..,跟上面类似.
SVN命令模式:svncopytrunk_pathbranch_path-m'描述'
举例:svncopyhttps://localhost:8443/svn/fbysss/prj1/trunk
https://localhost:8443/svn/fbysss/prj1/branches/branch1-m"第一个分支"
注意一点:trunk和branch不能互为子目录,否则就乱套了。
4.SVN分支与合并
1)从分支合并到主干
分支开发结束之后,往往需要合并回主干去测试、发布,但分支和主干可能有很多冲突的地方,在合并时经常需要手工解决。
被操作对象:主干
From:主干的打出分支时的版本
To:分支的Head版本(最新版本)
怎么理解这个From和To呢?似乎跟我们的想当然不太一样:因为我们理解,把分支合并到主干,肯定是From分支,To主干。怎么搞反了呢?
实际上,Svn认为,我们要合并的,是从主干的某个版本开始,到分支的某个版本结束。两边的版本号实际上是一套系统,不会有重复。我们从TortoiseSVNHelp中也能找到证据:
viewplaincopytoclipboardprint? Ifyouareusingthismethodtomergeafeaturebranchbacktotrunk,youneedto........ IntheFrom:fieldenterthefullfolderURLofthetrunk.Thismaysoundwrong,butrememberthatthetrunkisthestartpointtowhichyouwanttoaddthebranchchanges.Youmayalsoclick...tobrowsetherepository. IntheTo:fieldenterthefullfolderURLofthefeaturebranch. Ifyouareusingthismethodtomergeafeaturebranchbacktotrunk,youneedto........ IntheFrom:fieldenterthefullfolderURLofthetrunk.Thismaysoundwrong,butrememberthatthetrunkisthestartpointtowhichyouwanttoaddthebranchchanges.Youmayalsoclick...tobrowsetherepository. IntheTo:fieldenterthefullfolderURLofthefeaturebranch.
2)从主干合并到分支
试想这样的情况:一个项目里面,要独立出来一个子项目,需要单独发布版本,用到了基础框架代码,而基础框架在主干中不断修改完善,这就需要从主干合并到分支。
被操作对象:分支
From:分支的第一个版本(最旧版本)
To:主干的Head版本(最新版本)
相当于从分支的第一个版本开始一直到主干最后一个版本结束合并之后,替换分支。
实际上,SVN分支与合并,在管理上是有较大的意义不同,但对于svn系统技术层面来讲,二者是平等的,可互为主干和分支。
分享到:
相关推荐
SVN分支合并到主干 分支 主干 合并 冲突 英文
因此各开发成员需要建立自己的开发分支,并在此分支上进行开发工作,之后各开发成员把分支合并到主干上并形成较为稳定的版本,在后续的工作中各个成员重新从主干上建立新的分支,在此分支上继续开发,并其循环往复...
SVN分支的意义: 简单说,分支就是用于区分开发版本与当前发布版本的。 1、 主干负责新功能的开发 2.、分支负责修正当前发布版本的bug(对于可以放入下个发布版本的改进性bug可以直接在主干上开发) 3.、...
Eclipse svn创建分支、合并、切换讲解。 主要是合并操作。分支合并主干,已经冲突问题的解决。
在项目中常用的新建分支后合并到主干的详细教程
在信息技术飞速发展的今天,为了加快开发的效率,提升各个部门的联动配合,SVN工具成为了我们必不可少的研发工具。 日益更新的用户需求和不断升级的版本,如何才能做到灵活控制版本,今天我们请到了智博创享web端...
一、分支与合并的概念 二、SVN分支的意义 三、如何创建分支与合并分支
SVN的目录结构解释与SVN创建分支、合并分支、切换分支的操作详解。
二、 SVN分支简介 1、SVN仓库目录结构Repository 2、 结合eclipse创建分支 3、 结合eclipse创建标记tags 三、 合并主干和分支 1、 主干合并分支 2、 分支合并主干 3、 合并发生冲突 情况1:标记冲突,稍后处理。 ...
SVN分支与合并,从创建分支到合并分支,步骤图文详解
SVN 拉分支 合并 有详细的SVN拉分支及合并操作
svn版本之间的合并问题
列举在开发过程中会出现的开发情况,规范在开发过程中分支的类型,何时分支何时合并
eclipse 整理svn分支 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统
NULL 博文链接:https://panfuy.iteye.com/blog/1278898
svn_TortoiseSVN的基线分支合并
使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的...
描述了SVN的合并和同步策略,从分支方法、同步方法等方面进行了描述。
新手看看。高手绕道。主要是关于svn主干与分支互相合并的问题
SVN使用的分支与合并,对大家应该有帮助的。