SVN分支与合并使用文档Word文档格式.docx
《SVN分支与合并使用文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《SVN分支与合并使用文档Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
或者,修改代码bug的时候,可以先打出一个版本分支,保留出现bug的版本,比如分支版本名称为pre_fix_bug_2201,这里2201表示bug的代码,然后针对这个分支版本构成为pre_fix_bug_2201,这里2201表示bug的代号,然后针对这个分支做修改fix这个bug,再将修改后的容提交到一个新的分支版本,比如post_fix_bug_2201,再到适当时候将这个分支合并到代码的主干中去。
(2)SVN版本分支与合并的基本原理
首先是版本分支,实际上是将当前版本“copy”到分支上,非常类似windows下,将某个目录的快捷方式复制到其他路径。
这种copy,可以说是轻量级copy或者廉价copy,不是复制版本的容,而是做一个部的引用。
这样的copy很快,对服务器也没有空间上的开销。
版本的合并,是svn开发中的难点,当做版本合并的时候,服务器会试图只能的合并同一个文件的不同版本,可能会带来版本冲突,这需要操作者做手工的处理,消除版本冲突。
合理分工的项目应该可以通过管理手段尽量避免这种情况。
下面演示版本分支。
首先项目文档应该全部提交,然后,选择
然后填写url,一般都是在tags/目录下:
然后默认选项,next即可,然后选择finish按钮。
在svn的目录下便可看到这个名为yanshi_demo_1.0的项目。
打分支,实际上就是建立了一个项目的轻量级copy。
如何从版本的一个分支切换到另一个分支,这也是很重要,他能帮助你轻松的在不同的项目版本中自动切换,而不必在MyEclipse里维持多个项目。
选择要切换的项目版本路径,或者直接输入即可。
然后点击ok,项目即可且换到这个版本下了。
在分支上做了改动,并且已经提交,那么可以将这个版本合并到主干(trunk)代码中,让主干也拥有最新的代码。
首先切换到主干上,再进行合并。
选择需要合并的源,比如从tags上面的一个版本,合并到主干代码中。
之后需要设置一些合并的特性,这里默认设置即可。
执行完毕后,会有一个合并报告,可见没有出现冲突情况。
这时候看源代码,可以发现有改动,这些改动就是合并过来的代码。
改动如果没有问题,就可以提交,这样就完成了一次版本的合并工作。
冲突解决
冲突
当团队协同工作的时候,多人同时操作一个文件。
当有人操作完成后,将该文件提交到SVN上。
这样,其他人的本地文件与SVN上的文件版本不一致。
当另一人操作完成后,提交该文件时,就会出现冲突
对于每一个冲突的文件,Subversion放置三个额外的未版本化的文件到你的工作拷贝:
filename.mine更新前的文件,最新更改的容。
filename.rOLDREV更新操作以前的BASE版本文件,在上次更新之后未作更改的版本。
filename.rNEWREV服务器的版本,对应版本库的HEAD版本。
(这里OLDREV是本地.svn目录中的修订版本号,NEWREV是版本库中HEAD的版本号。
)
编辑冲突
显示本地的版本和服务器上版本的差别
“手动”合并冲突文本(检查和修改文件中的冲突标志)--需要团队成员交流。
如果希望取消自己的修改,直接还原得到的便是svn上的最新版本。
☆如何避免冲突
养成良好的习惯,在修改文件之前,先进行一次update操作
当修改完成后,及时commit,不要在本地停留时间过长;
在多人协作时,尽量修改自己撰写的部分,不要修改其他部分;
多人协作时,增加交流;
出现冲突很正常,可以通过前面的方法解决,不要相互覆盖。
(3)本地下的svn分支与合并
下面演示本地下版本分支。
同上面一样,首先项目文档应该全部提交,然后,选择
注意目录下中文有可能显示编码形式
然后默认选项,点击ok即可。
同样如何从版本的一个分支切换到另一个分支,这也是很重要,他能帮助你轻松的在不同的项目版本中自动切换,而不必下载多个项目。
执行完毕后,如果没问题会出现如下
如果有冲突或者其他状况的话
点击editconflict(编辑冲突)会显示冲突位置
如下文件就是合并后把新文件合并到主干上来