当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [教学]如何在svn中从主干更新到分支
帖子发表于 : 2008-05-18 6:12 
头像

注册: 2007-05-05 23:11
帖子: 694
送出感谢: 2
接收感谢: 0 次
当你需要从主干更新你分支,或反方向,或在两个分支间合并,就用得着merge了。下面以从主干更新分支为例简要介绍合并操作的步骤。要进一步了解,还是应该去阅读svn的文档。另外尽量不要用图形客户端,我开始用Eclipse的svn插件总是莫名其妙的merge fail。在shell里直接执行命令就好了。

最重要的是,一定要理解merge操作的含义:比较两个目录,然后应用结果到工作目录。也就是说,在命令中要提供三个目录的位置。
请用
代码:
svn help merge
命令查看merge的语法,阅读完毕前请不要看下面的内容。

==========================================================================================================

最容易犯的一个错误是企图把你的分支和主干比较,千万不要这样做
,具体原因这里不分析。应该在主干的两个版本间进行比较。

步骤:
step1. check out你的分支到本地,并进入该目录。
step2. 确定待比较的起始版本号。
代码:
svn log -v --stop-on-copy
从给出的信息中查看你的分支是从哪个版本建立的,假设你从版本号100建立了你的分支。
step3. 比较主干的版本100和最新主干的差别,将差别应用到工作目录。
代码:
cd 工作目录
svn merge -r 100:HEAD 主干目录

step4. 解决冲突。当执行了第三步时,终端会给出反馈信息,每行信息都会以一个大写字母开头,如A代表添加,U代表修改等,注意C代表冲突。可以将第三步操作的输出管道至grep来查看哪些文件冲突了。用编辑器打开冲突的文件,你会发现文件里冲突的行已经被用<<<<<或=====等符号做了标记。怎样解决冲突呢?很简单,用文本编辑器手动修改。每解决一个冲突,就应该用
代码:
svn resloved 冲突的文件
来告诉系统冲突已经解决了。
step5. 好了,在本地已经合并完毕,提交到服务器就行了。


如需转载,请注明作者及出处。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译