我使用Subclipse(SVN客户端)在Eclipse中工作,我已经在我的项目上工作了一段时间,在此过程中我更改了一个java包名。当我尝试SVN提交它告诉我,我有一个树冲突。我打开了冲突,并且确定与新包名称存在冲突,我将选择作为默认值,其中说了一些关于合并的内容并按下确定。
现在我所有的代码都有这样的东西
<<<<<<< .working
getProviders();
=======
>>>>>>> .merge-right.r44
这次显示多次,我到处都有编译错误。我无法恢复该项目,因为我已在本地进行了如此多的更改。
此外,现在我将所有这些新文件命名为Constants.java.merge-right.r43,其中'Constants.java'是真实文件,'Constants.java.merge-right.r43'是一些新文件
如何撤消此树冲突问题?
答案 0 :(得分:2)
找到
指示的所有合并冲突<<<<<<< .working
<your code>
=======
<their code>
>>>>>>> .merge-right
部件并检查哪些代码是正确的代码(或两部分的组合)。保留/修改该代码并删除冲突指标<
,=
和>
行。
正如您所注意到的,有几个版本的文件存在冲突:
.mine
版本是您拥有的版本.merge-right.r43
是新服务器版本.merge-right.rXX
(其中XX&lt; 43)是您用来创建自己版本的旧服务器版本。修复工作版本后,需要使用svn resolved <filename>
告诉SVN您解决了合并冲突。解决所有冲突后,您可以再次提交代码。
有关详细信息,请参阅:How to resolve Subversion Conflicts
答案 1 :(得分:0)
您必须使用您对代码的深入了解来确定每个<<< === >>>
项目应该代替的位置。它可能是顶部,它可能是底部,它可能是两者的某种组合,或者它可能是完全不同的东西。只有你知道。对于每个这样的<<< === >>>
项......
最终结果不得包含这些项目。手动编辑代码后,将文件标记为已解决。解决所有文件后,您可以自由提交更改。
答案 2 :(得分:-1)
首先,你应该考虑下次使用锁: - )
其次,您可以右键单击该文件并说出Team,Mark已解决 然后删除添加的文件,但您必须手动编辑.java文件。 或者您使用像WinMerge这样的合并工具。