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

首先说下为什么我们需要用到分支-合并。比如项目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/[email protected] svn://192.168.1.192/placii/staggingarea/xiangqi/[email protected] 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.

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

时间: 2024-08-06 16:06:37

SVN使用教程之-分支/标记 合并 subeclipse的相关文章

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

首先说下为什么我们需要用到分支-合 并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正 进行到一半的工作[某个模块],小组2进行新需求的开发.那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版[主干线]的一个copy 版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过[合并]功能,将分支合并到trunk上来,从而最后合并为一 个项目. 下面是在ecli

SVN使用教程之——分支、合并

首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个模块],小组2进行新需求的开发.那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版[主干线]的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过[合并]功能,将分支合并到trunk上来,从而最后合并为一个项目. 下面是在eclipse下

SVN工具如何创建分支和合并分支的

1.创建分支: 1.1->直接选中所要创建分支的项目,然后创建分支(Branch),会直接在你的项目中给你拷贝一份项目所有文件 2.分支与主干的同步: 2.1->Synchronize Branch:(Merge from:选择分支所在的文件夹)这是把分支同步到主干里来,这个感觉好像有冲突也不合并,也不显示,直接不处理 2.2->Reintegrate Branch:(Merge from:选择分支所在的文件夹)这是把分支同步到主干里来,如有冲突,会把两个文件合并,并显示冲突的地方(推荐

SVN使用之分支/标记_合并

首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个模块],小组2进行新需求的开发.那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版[主干线]的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过[合并]功能,将分支合并到trunk上来,从而最后合并为一个项目. 下面是在eclipse下

SVN教程——分支与合并

作者:zhanhailiang 日期:2014-10-17 分支的应用场景 总结一句就是方便并行开发. Subversion has commands to help you maintain parallel branches of your files and directories. It allows you to create branches by copying your data, and remembers that the copies are related to one

SVN 分支及合并的介绍和实践---命令行

写在前面 一些相关的概念和原理 进行分支开发的最佳实践 合并的分类 在 Eclipse 中进行合并操作 相关资源 写在前面 本文是由演讲整理而来的,介绍了 SVN 分支与合并的概念.流程和一些实际操作方法,适合对版本控制有基本认识然后想了解 SVN 分支与合并的使用方法的读者. 对应 SVN 版本最低为 1.5,因为分支.合并的很多功能都是 1.5(release notes ) 才加进来的. 一些相关的概念和原理 分支(branch)和标记(tag)对于 SVN 来说就只是副本(copy),没

[No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图

行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会在比较差异 和应用补丁时帮助你应对这些修改.你将会在合并和追溯对话框中看到这些设置,它们同样也出现在TortoiseMerge 的设置中. 忽略行结束符 排除仅行结束符的差异. 比较空白 将所有缩进和行内空白差异视为增加/删除的行. 忽略空白修改 排除那些完全是针对空白数量或类型的修改,例如,修改缩

详细说明svn分支与合并---命令行

一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多.因为一般情况下,是用不着svn分支的,其实也没有那个必要.下面我例举几个需要用到svn分支的情况: 1,比较大的项目.比较大的项目,一般情况下会分成几个阶段来完.好比什么五年计划.到了某个阶段时,我建立一个分支,当个备份.万一将来开发下个阶段东西的时候,出现致命错误的时候,我还能把这个分支拿出来接着用. 2,项目要开发新的东西,但是又不想和主干冲突,建立一个分支,单独做为一个开发分支.这样做也是为了

svn branch and merge(svn切换分支和合并)详解

下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html 先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图: branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,待开发结束后合并回trunk中,在bran