【问题标题】:SVN resolve tree conflict in mergeSVN 解决合并中的树冲突
【发布时间】:2013-10-27 10:09:48
【问题描述】:

我有一个 SVN 合并树冲突,我不知道如何解决,我希望你们(女孩)能帮忙。

情况如下:我从主干创建了一个分支 A 来进行一些开发。然后我从分支 A 创建了一个分支 B。两个分支同时发展。

在某些时候,我从分支 B 中挑选了一些修订版到主干中,以便在分支 B 中开发一些功能。

现在,我将分支 A 与主干同步:

~/branch_a$ svn merge ^/trunk
~/branch_a$ svn commit

这里没有问题。下一步是将 B 与 A 同步:

~/branch_b$ svn merge ^/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

基本上我想要从合并中传入的文件版本并丢弃当前版本。解决这个问题的最佳方法是什么?

提前致谢!

【问题讨论】:

    标签: svn tree conflict


    【解决方案1】:

    这是一个网站,您可以在其中找到有关如何进行合并的详细解释。

    http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk

    当您使用没有-r 参数的合并时,您正在尝试合并整个 分支,其中包括那些不专门对应于分支i 的修订。它真正的作用是:它从您创建存储库的修订版到您现在实际所在的修订版,其中包括该分支尚不存在的修订版,这可能会引发很多树合并冲突和将军的冲突。

    当你在 svn 中将一个分支合并到主干时,你必须从你想要选择的分支中指定修订,从你制作创建分支的副本的点开始到主干的头修订。

    【讨论】:

    • 感谢您的回复。我做了你指出的指南中所说的。我做事正确(我认为)。我现在的问题是如何解决我将主干合并回功能分支的冲突。
    • 哦,是的..解决冲突的那部分是开发人员必须赤手空拳完成的一项艰巨工作。最乐意提供帮助,如果您认为答案是适当的并且它解决了您的问题,请不要忘记将其标记为正确的;)
    【解决方案2】:

    使用下面的命令将解决你的树冲突

    svn resolve --accept working -R <file name with path>
    

    【讨论】:

    • ...并丢弃其他分支的更改。
    • 警告:不要只是这样做。有了这个,你只是告诉 SVN “嘿,我已经解决了”,但如果你实际上没有采取必要的步骤来解决它,那么它显然会做错事。
    • 这是我多年来一直在寻找的命令,感谢 1000 次。如果您只想将分支的状态带入另一个分支(或主干),这就是解决方案。至少结合stackoverflow.com/a/2648969/2081279 的其他提示
    猜你喜欢
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多