文档章节

SVN使用教程之-分支/标记 合并 subeclipse

gulf
 gulf
发布于 2016/10/08 13:45
字数 1523
阅读 11
收藏 0

首先说下为什么我们需要用到分支-合并。比如项目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命令行输出如下: 
Xml代码 

 收藏代码

  1. copy -rHEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3  
  2. propset subclipse:tags "1538,Facebook2,/Facebook2,branch  
  3. 1540,Facebook3,/Facebook3,branch" E:/myeclipse/workspace/Facebook  
  4. switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 E:/myeclipse/workspace/Facebook -rHEAD  
  5.     At revision 1541.  
  6. add -N E:\myeclipse\workspace\Facebook\WebRoot\FB3.html  
  7.     A         E:/myeclipse/workspace/Facebook/WebRoot/FB3.html  
  8. commit -m "" E:/myeclipse/workspace/Facebook/WebRoot/FB3.html  
  9.     Adding         E:/myeclipse/workspace/Facebook/WebRoot/FB3.html  
  10.     Transmitting file data ...  
  11.     Committed revision 1542.  
  12. switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook E:/myeclipse/workspace/Facebook -rHEAD  
  13.     D  E:/myeclipse/workspace/Facebook/WebRoot/FB3.html  
  14.     Updated to revision 1542.  
  15.     ===== File Statistics: =====  
  16.     Deleted: 1  
  17. 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  
  18.     A  E:/myeclipse/workspace/Facebook/WebRoot/FB3.html  
  19.     Merge complete.  
  20.     ===== File Statistics: =====  
  21.     Added: 1  



希望本文能有所帮助。 
其他参考资料: 
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c 



===========================关于合并========================== 
我在合并的时候发现,合并后文件被直接覆盖掉了,而没有出现本该出现的【冲突】,后来经过仔细研究发现,是操作问题。 

 
假设我原来的项目是placii,建立了一个分支是placiiStore.现在需要将分支placiiStore合并到主干线上。那配置应该如图所示 
1.【起始路径】:这里需要填分支的路径。 
2.第一个修订号:建立分支时的版本号。在建立分支时候记录下svn的console 
我的是Xml代码 

 收藏代码

  1. 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  
  2. propset subclipse:tags "1527,placiiStore,/source code/placiiStore,branch  
  3. 1549,placiiStore,/source%20code/placiiStore,branch" E:/myeclipse/workspace/placii  
  4. switch svn://192.168.1.192/placii/trunk/code/server/source code/placiiStore E:/myeclipse/workspace/placii -rHEAD  
  5.     At revision 1550.  


3.目标路径:这里使用起始路径。 
4.目标版本号:使用最新版即 HEAD. 

点击合并,如果有人在主干线版本上做了更改,而你再分支上也对这个文件作了更改,将会产生冲突。然后手动把冲突的代码合并一下,右键-标记为解决,这就达到我们的目的了。 

 

9 

0 

分享到:  

MyEclipse freemarker 插件 plugins (附件 ... | eclipse jvm terminated. exit code 1 解决 ...

参考知识库

深度学习知识库882  关注 | 180  收录

React Native知识库832  关注 | 426  收录

iOS知识库765  关注 | 1143  收录

直播技术知识库2025  关注 | 851  收录

评论

 

9 楼 xiboliyalang 2016-09-21  

                        

8 楼 77321660 2015-11-30  

谢谢,很详细的教程,受用。

7 楼 rovegaby 2013-12-17  

博主 你好  我用你的方法 建立分支 跟合并 分支 都报一个错误:

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

  

本文转载自:http://energykey.iteye.com/blog/512745

共有 人打赏支持
gulf
粉丝 12
博文 276
码字总数 156468
作品 0
广州
程序员
使用subeclipse来管理分支/标记

先简单说些搭建SVN服务器的题外话 之前有搭建过svn服务器,不过是那种最原始的方法,安装的svn服务器只支持以svn://开头的,并不支持http://和https://开头的,如果需要支持的话要配合Apache 现在...

whaon
2014/12/06
0
0
2014-01-16 SVN使用手册Windows X86平台

1.安装Setup-Subversion-1.8.5.msi http://jaist.dl.sourceforge.net/project/win32svn/1.8.5/Setup-Subversion-1.8.5.msi 2.安装VisualSVN-Server-2.7.3.msi http://www.visualsvn.com/fil......

查封炉台
2014/01/16
0
0
SVN 主干(trunk)、分支(branch )、标记(tag)

主干(trunk)、分支(branch )、标记(tag) 在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的...

凯文加内特
2015/08/19
0
0
svn 常用操作命令及问题处理

[TOC] 1. 常用命令 1.1. 基本使用 检出 checkout 加入版本控制 add 提交 commit 更新 update 清除锁定 重定向仓库地址到新地址 切换当前项目到指定分支 检查工作副本下的文件状态 查看工作副...

whoru
前天
0
0
Git详解之八 Git与其他系统

Git 与其他系统 世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见...

小米米儿小
2013/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
32
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
28
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
37
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
24
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
36
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部