- 浏览: 598203 次
- 性别:
- 来自: 杭州
最新评论
-
tylerren:
stauts : 9 返回值是9,有遇到的吗?
CMPP3.0 CMPP2.0 java实现 -
tengdong:
2019-02-26 10:47:30,231 INFO Ms ...
CMPP3.0 CMPP2.0 java实现 -
secjy:
cmpp2 发送之后 ,提示发送成功,但是手机接收不到短信。c ...
CMPP3.0 CMPP2.0 java实现 -
西瓜xg:
2017-05-18 12:05:59,222 INFO Ms ...
CMPP3.0 CMPP2.0 java实现 -
贝塔ZQ:
Java实现读取excel文件到数据库中,也可以使用插件实现的 ...
使用Java读取Excel文件内容 excel导入sql
首先说下为什么我们需要用到分支-合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版【主干线】的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过【合并】功能,将分支合并到trunk上来,从而最后合并为一个项目。
下面是在eclipse下使用subeclipse插件详细使用过程:
首先建立一个工程,名字叫Facebook
1.建立分支,为新的分支指定访问URL:Facebook3[注释不要忘了]
2.建立好分之后,使用“切换”功能切换到分支下进行开发。
我新建了一个FB3.html的文件并在分支下进行提交。
3.切换回trunk版【即URL为Facebook的版本】
你会发现trunk版里并没有出现我们刚刚提交的FB3.html,因为FB3.html是属于分支的,接下来我们要做的就是“合并”,通过合并,我们可以将分支下进行的更改合并到trunk版里。
下面是合并的主要配置:
起始路径:trunk版的路径【若需要把trunk版的改动合并到分支则相反】
目标路径:从哪里获取改动【这里是分支路径】
你可以使用指定的版本号,这里采用最新修订版。
4.点击合并,你会发现trunk版下新增了一个文件FB3.html
这样我们就将分支下所做的改动合并到了trunk版里。
值得注意的是:
1.在建立分支的时候最好添加注释。
2.进行合并前最好保证两个版本都是干净的【即没有未提交或者冲突的文件存在】
3.合并时的目标路径:需要把谁的改动合并到其他版本就填谁的URL。
整个过程的SVN命令行输出如下:
希望本文能有所帮助。
其他参考资料:
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c
===========================关于合并==========================
我在合并的时候发现,合并后文件被直接覆盖掉了,而没有出现本该出现的【冲突】,后来经过仔细研究发现,是操作问题。
假设我原来的项目是placii,建立了一个分支是placiiStore.现在需要将分支placiiStore合并到主干线上。那配置应该如图所示
1.【起始路径】:这里需要填分支的路径。
2.第一个修订号:建立分支时的版本号。在建立分支时候记录下svn的console
我的是
3.目标路径:这里使用起始路径。
4.目标版本号:使用最新版即 HEAD.
点击合并,如果有人在主干线版本上做了更改,而你再分支上也对这个文件作了更改,将会产生冲突。然后手动把冲突的代码合并一下,右键-标记为解决,这就达到我们的目的了。
我实际操作结果是:操作的起始路径 和目标路径与你上面文中写的相反
我测试结果是: 起始路径应该为改动的源,如文中在分支修改,那么此处应该为分支路径
目标路径为 要合并的trunk
我的svn命令:把trunk 合并到分支
merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS
仔细检查一遍,发现时我错了,文中的教程是正确的,请原谅。
我实际操作结果是:操作的起始路径 和目标路径与你上面文中写的相反
我测试结果是: 起始路径应该为改动的源,如文中在分支修改,那么此处应该为分支路径
目标路径为 要合并的trunk
我的svn命令:把trunk 合并到分支
merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS
下面是在eclipse下使用subeclipse插件详细使用过程:
首先建立一个工程,名字叫Facebook
1.建立分支,为新的分支指定访问URL:Facebook3[注释不要忘了]
2.建立好分之后,使用“切换”功能切换到分支下进行开发。
我新建了一个FB3.html的文件并在分支下进行提交。
3.切换回trunk版【即URL为Facebook的版本】
你会发现trunk版里并没有出现我们刚刚提交的FB3.html,因为FB3.html是属于分支的,接下来我们要做的就是“合并”,通过合并,我们可以将分支下进行的更改合并到trunk版里。
下面是合并的主要配置:
起始路径:trunk版的路径【若需要把trunk版的改动合并到分支则相反】
目标路径:从哪里获取改动【这里是分支路径】
你可以使用指定的版本号,这里采用最新修订版。
4.点击合并,你会发现trunk版下新增了一个文件FB3.html
这样我们就将分支下所做的改动合并到了trunk版里。
值得注意的是:
1.在建立分支的时候最好添加注释。
2.进行合并前最好保证两个版本都是干净的【即没有未提交或者冲突的文件存在】
3.合并时的目标路径:需要把谁的改动合并到其他版本就填谁的URL。
整个过程的SVN命令行输出如下:
copy -rHEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 propset subclipse:tags "1538,Facebook2,/Facebook2,branch 1540,Facebook3,/Facebook3,branch" E:/myeclipse/workspace/Facebook switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 E:/myeclipse/workspace/Facebook -rHEAD At revision 1541. add -N E:\myeclipse\workspace\Facebook\WebRoot\FB3.html A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html commit -m "" E:/myeclipse/workspace/Facebook/WebRoot/FB3.html Adding E:/myeclipse/workspace/Facebook/WebRoot/FB3.html Transmitting file data ... Committed revision 1542. switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook E:/myeclipse/workspace/Facebook -rHEAD D E:/myeclipse/workspace/Facebook/WebRoot/FB3.html Updated to revision 1542. ===== File Statistics: ===== Deleted: 1 merge svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook@HEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3@HEAD E:/myeclipse/workspace/Facebook A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html Merge complete. ===== File Statistics: ===== Added: 1
希望本文能有所帮助。
其他参考资料:
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c
===========================关于合并==========================
我在合并的时候发现,合并后文件被直接覆盖掉了,而没有出现本该出现的【冲突】,后来经过仔细研究发现,是操作问题。
假设我原来的项目是placii,建立了一个分支是placiiStore.现在需要将分支placiiStore合并到主干线上。那配置应该如图所示
1.【起始路径】:这里需要填分支的路径。
2.第一个修订号:建立分支时的版本号。在建立分支时候记录下svn的console
我的是
copy -rHEAD svn://192.168.1.192/placii/trunk/code/server/source%20code/placii svn://192.168.1.192/placii/trunk/code/server/source%20code/placiiStore propset subclipse:tags "1527,placiiStore,/source code/placiiStore,branch 1549,placiiStore,/source%20code/placiiStore,branch" E:/myeclipse/workspace/placii switch svn://192.168.1.192/placii/trunk/code/server/source code/placiiStore E:/myeclipse/workspace/placii -rHEAD At revision 1550.
3.目标路径:这里使用起始路径。
4.目标版本号:使用最新版即 HEAD.
点击合并,如果有人在主干线版本上做了更改,而你再分支上也对这个文件作了更改,将会产生冲突。然后手动把冲突的代码合并一下,右键-标记为解决,这就达到我们的目的了。
评论
9 楼
xiboliyalang
2016-09-21
8 楼
77321660
2015-11-30
谢谢,很详细的教程,受用。
7 楼
rovegaby
2013-12-17
博主 你好 我用你的方法 建立分支 跟合并 分支 都报一个错误:
http://hi.baidu.com/i_ccboy/item/c90aae8495ddc3ded1f8cda7
这里的第二个问题 , 有没有办法 解决。还有 我这个svn 插件跟你的一样,是不是插件的问题。
http://hi.baidu.com/i_ccboy/item/c90aae8495ddc3ded1f8cda7
这里的第二个问题 , 有没有办法 解决。还有 我这个svn 插件跟你的一样,是不是插件的问题。
6 楼
fanjf
2011-12-19
不错,受用
5 楼
energykey
2011-07-11
4 楼
beautyOfProgram
2011-07-11
beautyOfProgram 写道
我实际操作结果是:操作的起始路径 和目标路径与你上面文中写的相反
我测试结果是: 起始路径应该为改动的源,如文中在分支修改,那么此处应该为分支路径
目标路径为 要合并的trunk
我的svn命令:把trunk 合并到分支
merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS
仔细检查一遍,发现时我错了,文中的教程是正确的,请原谅。
3 楼
beautyOfProgram
2011-07-11
我实际操作结果是:操作的起始路径 和目标路径与你上面文中写的相反
我测试结果是: 起始路径应该为改动的源,如文中在分支修改,那么此处应该为分支路径
目标路径为 要合并的trunk
我的svn命令:把trunk 合并到分支
merge --depth=infinity http://192.168.1.18/repos/hxia/trunk/VMS@HEAD http://192.168.1.18/repos/hxia/branches/VMS_SQLSERVER@HEAD E:/myeclipseWorkspace/VMS
2 楼
beautyOfProgram
2011-07-05
很好,谢谢!!
1 楼
yayg
2010-04-08
谢谢,授用
发表评论
-
使用httpclient返回 header too long
2017-07-14 17:14 1889最近些的爬虫请求某代理网站时运行几天就会持续报错4 ... -
Java通过浏览器请求头(UserAgent)获取手机机型
2014-09-20 15:38 27173方案一:正则表达式 通过观察规律,得出以下表达式: ; ... -
TOMCAT7 生产环境优化
2014-05-28 16:33 26860TOMCAT的优化基本分为两 ... -
CMPP3.0 CMPP2.0 java实现
2013-05-13 11:49 33553实现了连接、短信收发、webpush,支持长短信。 ... -
nginx配置
2013-02-27 13:22 1271#user nobody; worker_proc ... -
java从apk文件里获取包名、版本号
2012-12-11 15:36 25912测试代码: package org.apkinfo.t ... -
java 进阶(持续补充)
2012-10-11 14:52 740JDK1.5新增特性 枚举、泛型、可变参数、注 ... -
[非常简单]Linux下启动java程序的通用脚本sh(可用作开机启动service脚本)
2011-11-07 09:24 17748如果未设置JAVA_HOME环境变量,需要手动指定 #JDK ... -
2年经验面试复习大纲【欢迎补充】
2011-05-18 17:02 2035前言: 由于最近换工作,需要面试,为了加深自己复习的印象,同 ... -
Twitter从Rails迁移到了Java
2011-04-25 09:00 20Rail那插满五颜六色鲜艳羽毛的帽子现在跌落到了地上 ... -
一个工作了快两年的Java Coder的迷惑
2011-04-19 15:05 0时间一转眼就快2年了,首先介绍一下我自己,我不是计算机专业的, ... -
Linux shell语法小结
2011-04-11 15:03 52171、 set命令 当没有参数的时候,列出系统中 ... -
WindowsXP下通过硬盘安装Ubuntu实现双系统2种方法对比分析
2011-04-01 15:11 6598首先是一种适合新手的方法,这种方法把Ubuntu当作一个软件安 ... -
Linux下的CVS权限配置
2011-03-31 15:56 2451虽然SVN现在已经是主流,但CVS仍然是很多公司的选择,由于考 ... -
linux mysql安装
2011-02-21 08:44 34341、解压安装包 #tar zxvf m ... -
【诡异问题系列】LINUX TOMCAT能连上MYSQL 但查询不出数据
2010-11-03 14:31 98jdk->tomcat->mysql 都配置好了后 ... -
刨根问底session
2010-06-29 15:10 2498摘要:虽然session机 ... -
jquery ajax 跨域解决方案【1分钟】
2010-06-08 10:53 2803背景,由于登录服务器和应用服务器不在一个域,所以必须跨域进行登 ... -
String StringBuffer StringBuilder
2010-05-31 15:56 1245这篇文章讲的很好,推荐下: 三分钟理解Java中字符串(Str ... -
JavaScript 深入学习 笔记
2010-01-07 13:18 1448本文主要记录一些JavaScript的比较值得注意的特性。 ...
相关推荐
使用`svn copy`命令创建分支,再通过`svn merge`进行合并。 - **标签创建**:对于重要的版本或里程碑,可以使用标签(tag)进行标记,便于回溯历史版本。 - **冲突处理**:在多人协作时,可能会遇到文件冲突。SVN...
此外,Subversion推荐使用特定的目录结构,如trunk(主线开发),branches(分支)和tags(标记,代表特定版本)。 **TortoiseSVN** 是Subversion的一个图形化客户端,提供直观的Windows资源管理器集成,使得用户...
SubEclipse会在冲突的文件中标记出冲突部分,你必须手动编辑这些区域以解决冲突,然后才能提交更改。 SubEclipse还提供了日志查看器,你可以通过"Team" -> "Show Log"来查看项目的历史版本,包括每个版本的作者、...
SubEclipse是Eclipse集成开发环境(IDE)中的一款非常重要的插件,它使得开发者能够直接在Eclipse中使用版本控制系统Subversion(SVN)。这款插件极大地简化了与Subversion仓库交互的过程,包括版本控制操作如提交、...
Eclipse SVN 1.8.22 插件是针对Eclipse集成开发环境的一个扩展,主要用于版本控制系统Subversion(SVN)的交互和支持。Subversion是一个开源的版本控制系统,它帮助用户管理文件和目录的不同版本,使得多人协作开发...