IT星球论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 17|回复: 0

SVN merge branche into trunk [分支与合并]

[复制链接]

1996

主题

1

好友

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

优秀会员 助人为乐 辛勤工作 技术精英 多才多艺 优秀班竹 灌水天才 星球管理 宣传大使 灌水之王 财富勋章 版主勋章 动漫勋章 勤奋会员 论坛精英 PS高手 心 8 闪游皮肤 双鱼座 8★8➹ 志愿者 乖

发表于 2017-10-10 19:00:36 |显示全部楼层
SVN merge branche into trunk [分支与合并]
创建分支的意义
创建分支的意义,比如我们在一个基础平台上进行开发,每个技术小组负责一个子项目,而基础平台也是有可能会继续更改的,这个时候,如果不创建分支,子项目之间会相互影响,影响最大的就是后期的测试和版本发布,子项目A已经结束,但测试却受到正在进行的子项目B的影响,测试通不过,就别说版本发布了。所以,我们需要从目前的项目(主干trunk)中创建分支(branch),隔离子项目间的相互影响。
创建分支原理
在svn中,创建分支,实际上就是一个版本拷贝(对应copy to...注意:绝不是简单在客户端上copy一个目录,而是svn仓库中copy,文件版本号会增加。),两边做任何修改发生的版本变化,是一套机制。举例:目前主干版本是100,分支版本是101,主干中增加一个文件,版本为102,分支中再增加一个文件,版本就为103了。两边的版本号是一套,不会重复。
创建分支的方法$ svn copy http://svn.example.com/repos/calc/trunk            http://svn.example.com/repos/calc/branches/my-calc-branch                  -m "Creating a private branch of /calc/trunk."
从版本库的视点来看,其实这两种方法没有什么区别,两个过程都在版本341建立了一个新目录作为/calc/trunk的一个备份,这些可以在图 4.3 “版本库与复制”看到,注意第二种方法,只是执行了一个立即提交。 [20]这是一个简单的过程,因为你不需要取出版本库一个庞大的镜像,事实上,这个技术不需要你有工作拷贝,这是大多数用户创建分支的方式。
图 4.3. 版本库与复制
将trunk合并到当前分支
前面的78是开分支之前trunk的版本号,后面的83是merge时trunk的版本号
$ cd branches/mybranche$ svn merge -r 78:83 ../../trunk/查看冲突文件$ svn st|grep ^C
解决冲突后提交
$ svn commit -m "merge trunk in branch"从分支merge到trunk
先从trunk checkout一份新鲜的代码,然后cd到该版本目录下
$ svn co svn://localhost/www/trunk#78是分支开始的版本号,226是分支结束的版本号$ svn merge -r78:226 ../branches/my-calc-branch$ svn ci -m "MERGE branch my-calc-branch [r78]:[229] into trunk"
SVN 获取某个版本的代码 svn up -r r26
创建tags$ svn mkdir tags#将备份的版本copy到tags$ svn copy trunk/ tags/project_0.5$ svn commit -m "add project_0.5 to tags"


顶0

SVN merge branche into trunk [分支与合并]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博账号登陆

该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部