Eclipse下Svn的分支与合并指南
在开发过程中,灵活使用分支和合并,可以为我们的版本控制提供许多方便。
使用分支的场景
1. 要对某一个模块做重大调整,而不想别人打扰你或你不想打扰别人的工作,因为你修改的内容比较多,在没有完全改好并测试过之后就提交的话,别人更新后的程序就用不了了,但是如果你一直不提交,等到你完全改好后再提交,那svn的版本管理的作用体现在哪里?通过分支可以避免这个问题。
2. 主干已经开发完成,要进行发布,那把主干复制到分支,然后分支主要进行bug的修改和完善,而主干继续进行新特性的开发。比如我们要对框架进行升级工作,我们在目前的主干开发了差不多的时候,就可以准备发布1.0版本了,那我们把主干的复制到一个叫版本1的分支,在修复测试、发布1.0版本的同时,主干继续进行2.0的开发工作。当分支有bug修复的时候,同步到主干。
目前我们使用分支多是前一种情况。
创建分支
打开要创建分支的文件,可以是一个目录,也可以是一个文件,在该文件上右键点击,如图:
选择“分支/移动”菜单,打开复制界面,如下:
在“到URL”选择框里,填写要分支的路径,shop2,下一步,选择创建分支的版本:
默认选择“HEAD修订版”就可以了,就是svn上最新的版本。下一步,提交更改:
填写注释,点击“Finish”,完成分支的创建。创建后的分支如下:
Svn的分支和标签操作都是复制一份副本。可能有人觉得,如果创建太多分支的话,不停的复制,服务器会不会太多东西了,负荷太重了,这个大可放心,svn的复制操作并不是真正的复制一份同样的数据,而是一个“钱复制”,它只是创建了一个链接而已,一个到主干的 连接。在你对分支没做任何修改之前,分支都只是一个链接,当你对分支的文件作了修改后,该文件在分支那才会真正的创建一个文件。
至此,分支已经创建完毕。
切换到分支,编辑分支内容
当你创建分支后,肯定是想在分支那修改东西。想修改分支的内容,要把本地的副本的切换到分支。操作步骤如下:
在本地工作区的package Explorer面板里,右击要切换分支的文件,在弹出的菜单现在Team->切换,如图:
弹出的切换界面如下:
在“至URL”选择框里,选择刚创建的分支。其他的选项默认。点击“OK”,完成切换操作。此时,本地的peoject目录已经切换到分支,而不再是主干了,当你修改提交时也是修改分
支的文件。
合并分支到主干(合并主干到分支与此相同)
当你本地修改完文件并提交到分支后,下一步就是要同步到主干去。在同步到主干之前,确保本地的文件都有提交了。先把本地副本按第二部的操作切换到主干上去。
在分支下添加一个jsp页面branchAdd.jsp,提交
切换到主干后,
就可以进行合并了。在本地右击合并的文件,选择Team->合并,如图:
弹出如下的合并界面:
next
next
选中branchAdd.jsp,右键 -- team--提交
提交整个项目
至此,整个svn的分支与合并的操作已完成。
冲突解决
主干与分支,分别对branchAdd.jsp做了不同修改,再合并的时候,就会有冲突。需要标记为解决。
主干与分支,分别对branchAdd.jsp做了不同修改,再合并的时候,就会有冲突。需要标记为解决。
主干修改branchAdd.jsp
切换到分支shop2下,修改branchAdd.jsp
合并分支
在主干中右键项目--team--合并
提交更改是什么选择合并类型,我们选第2项,
上图会显示更新、修改 、冲突等信息
选中冲突文件,右键--team--标记为解决
然后对主干文件(工作空间文件)进行修改得到我们想要的效果
选中修改后的文件branchAdd.jsp,右键--team--标记为解决--比较选项不勾选--完成--提交b
ranchAdd.jsp.
至此,冲突解决完成。
文件内容对比
如果希望知道分支文件对主干文件修改的具体内容,可做如下操作:
1. 在相应的文件上点击右键compare With分支/标记:(文件替换则用Replace with)
2. 然后选择分支中的文件:
3. 点击OK后,即可出现两个文件的对比,并显示不同地方:
注意事项
1.在建立分支的时候最好添加注释。
2.进行合并前最好保证两个版本都是干净的【即没有未提交或者冲突的文件存在】 。
3. 合并之前,要先update,然后整个项目commit,保证两个版本都是最新的,否则合并之前会提示更新或提交整个项目
4.合并时的目标路径:需要把谁的改动合并到其他版本就填谁的URL。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论