`
liuzhiyi7288
  • 浏览: 31282 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

from branch merge to trunk

    博客分类:
  • SVN
阅读更多

       项目需要做一个大的改动,在上线之前从trunk上打了一个branch下来,由于改动比较大,所以这次的改动就在branch修改、打包、测试;

      测试完成以后,问题来了,我们需要branch代码merge到trunk上,网上查了一下资料,但是有些人为了赚取所谓的“分儿”,都没有验证的解决方案一顿狂发,下面是经过验证的解决方案:

 

     1. 将branch的代码验证没有问题后,全部提交(此时的提交,是提交到了branch上)

 

   2. 在trunk上,点击右键,选择“team->merge”,会弹出merge对话框,我们的merge应该属于第二种方式,所以选择"Reintegrate a branch",勾选"perForm pre-merge best practices checks",点击"next"(附件3.jpg)

 

     3. 在merge from后,点击"select",从svn目录中选择我们的branch,点击"next"

 

     4. 出现对解决冲突的默认处理,默认就可以,不用选择,默认选择出现冲突会提示我们(prompt me for each conflict and let me decide),对于text files 、Binary files、Property conflicts同样选择默认选项,点击"finish"

 

     5. 此时svn开始从branch上逐个文件merge到trunk上,如果发现文件冲突,系统会弹出提示框询问如何处理冲突,记着我们千万不要选择不处理,冲突一定要解决,要不然很有可能,把其他项目组成员辛辛苦苦写的东西冲突掉得,所以我们应该:

 

        a. 从冲突询问对话框中,我们可以看到我们冲突的资源是什么(Resouce:/xxx/src/com/xxx/xx/xxfile),针对于冲突系统会给出5中选项(what do you want to do?)-附件2.jpg

 

         1. Mark as conflicted, i will deal with it later.

 

         2. Resolve the conflict by using my version of the file.

 

         3. Resolve the conflict by using the incoming version of the file.

 

         4. Let me edit the file with coflict markers inserted.

 

         5. Launch a graphical conflict resolution editor.

 

显然最稳妥的还是选择最后一项,使用图形编辑器解决这个冲突(就是我们平时提交代码时,解决conflict的界面),至于如何解决冲突,svn使用基本功不说了,解决完成以后,保存

 

         b. 将冲突解决编辑器关闭,系统会自动提示"Are you done resolving conflicts for this file?",显然 i'm sure,所以我们选择"Yes, I resolved all of the conflicts in the file, Mark conflict resolved."(附件1.jpg)

 

         c. svn会继续merge,如果发现冲突系统会继续提示,然后重复以后步骤,直到解决完成,merge工作结束。

 

         d. merge时,可能会由于两个workspace的设置文件不同会有冲突,针对于该冲突,千万不要把branch workspace settings 拿过来,否则我们当前的workspace就不能用了,还得重新down。

  • 大小: 46.8 KB
  • 大小: 52.7 KB
  • 大小: 86.4 KB
分享到:
评论
2 楼 muqingren 2012-04-11  
辛苦
1 楼 muqingren 2012-04-11  

相关推荐

Global site tag (gtag.js) - Google Analytics