代码之家  ›  专栏  ›  技术社区  ›  jax

SVN树冲突完全破坏了我在eclipse中的代码

  •  2
  • jax  · 技术社区  · 14 年前

    我正在使用Subclipse(SVN client)在Eclipse中工作,我已经在项目中工作了一段时间,在这个过程中我更改了一个java包名。当我尝试SVN提交时,它告诉我有一个树冲突。我打开了冲突,确定与新包名有冲突,我将选择项保留为默认值,其中说明了有关合并的内容,然后按“确定”。

    现在我所有的代码都是这样的

    <<<<<<< .working
            getProviders();
    
    =======
    >>>>>>> .merge-right.r44
    

    这是多次显示,我有编译错误无处不在。我无法还原项目,因为我已经在本地做了很多更改。

    另外,现在我有了所有这些名为Constants.java.merge-right.r43的新文件,其中“Constants.java”是一个真正的文件,“Constants.java.merge right.r43”是一些新文件。

    我能做些什么来解决这个树冲突问题?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Veger    14 年前

    找到所有 合并冲突

    <<<<<<< .working
      <your code>
    =======
      <their code>
    >>>>>>> .merge-right
    

    并检查哪个代码是正确的代码(或两个部分的组合)。保留/修改该代码并删除冲突指示器 < , = > 线。

    正如您所注意到的,有几个版本的文件存在冲突:

    • 这个 .mine 这些文件的版本是您拥有的版本
    • 这个 .merge-right.r43 是新的服务器版本
    • 这个 .merge-right.rXX (其中XX<43)是用于创建自己版本的旧服务器版本。

    修复工作版本后,需要使用 svn resolved <filename> 告诉SVN你解决了合并冲突。解决所有冲突后,可以再次提交代码。

    有关更多信息,请阅读: How to resolve Subversion Conflicts

        2
  •  0
  •   Dialecticus    14 年前

    你必须利用你对代码的深入了解来决定 <<< === >>> 物品应该放在它的位置上。它可能是顶部,也可能是底部,可能是两者的某种组合,也可能是完全不同的东西。只有你知道。每一个这样的人 <<<===>> 项目。。。

    最终结果不能包含这些项。完成手动编辑代码后,将文件标记为已解析。解析所有文件后,您可以提交更改。

        3
  •  -1
  •   Tobias    14 年前

    首先,下次应该考虑使用锁:-)

    其次,您可以右键单击文件并说Team,Mark resolved 然后删除添加的文件,但必须手动编辑.java文件。 或者你使用一个合并工具,比如WinMerge。

    推荐文章