我有一个SVN合并树冲突,我无法弄清楚如何解决,我希望你们(女孩)可以帮忙。
以下是这种情况:我从主干创建了一个分支A来进行一些开发。然后我从分支A创建了一个分支B.两个分支同时发展。
在某些时候,我从分支B中挑选了一些修改到主干中以获得在分支B中开发的一些功能。
现在,我使用trunk同步分支A:
~/branch_a$ svn merge ^/trunk
~/branch_a$ svn commit
这里没问题。下一步是将B与A:
同步~/branch_b$ svn merge ^/trunk
在这里我得到了一些树冲突,在合并之前已经存在于trunk中的文件/目录中,但是我在之前做过的樱桃选择中被更改了(不知道它是否与它有任何关系,我是只是提到它):
C some_dir/other_dir/some_file.php
> local add, incoming add upon merge
C some_other_dir/some_sub_dir
> local add, incoming add upon merge
基本上我想要从合并进来的文件版本并丢弃当前版本。解决这个问题的最佳方法是什么?
提前致谢!
答案 0 :(得分:3)
这是一个网站,您可以在其中找到有关如何进行合并的解释清楚的答案。
http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk
当您使用不带-r
参数的合并时,您尝试合并整个分支,其中包含那些不完全对应于分支i的修订。它真正做的是:它从您创建存储库的修订版到实际现在的修订版,并且包括此分支尚未存在的修订版,可能导致很多树合并冲突和一般的冲突。
当您在svn中将分支合并到主干时,必须从要分支的分支中指定修订版本,从创建分支的副本开始,将分支创建到主干的主版本。
答案 1 :(得分:3)
使用下面的命令它将解决您的树冲突
svn resolve --accept working -R <file name with path>