32

我和我的朋友在项目中使用带有 subclipse 的 flex builder(基于 eclipse)。

在提交之前我总是更新但有时我因为冲突而无法提交。然后我使用 Team->Synchronize with Repository 并在右侧显示最新的存储库,在左侧显示我当前的工作副本。它有一个按钮,可以从右到左(从最新的存储库到我的工作副本)从所有非冲突中复制。但仍有冲突的路线。

有时我只想从左到右复制,但没有按钮(我的意思是用我的行覆盖存储库文件行)。从右到左复制非冲突部分后,我只想提交左侧(我想覆盖我的最终文件并将其提交到存储库)。由于这些冲突问题,我无法提交。然后我的朋友可以使用 Replace With-> Latest from Repository 命令来获取最新的覆盖版本。

Subclipse 文档很薄弱,我在 Internet 上找不到任何好的指南。您能否为像我这样的傻瓜逐步解释子剪辑冲突解决方案?一个显示步骤的视频,或者一个快速修复它的外星技术就可以了。是否有更好(更简单)的 Eclipse 源代码控制解决方案?

(我使用子剪辑 1.4)

4

4 回答 4

53

是的你是对的。没有按钮。在差异视图(并排视图)中,红色的项目存在冲突。它们不能自动合并。您必须检查有冲突的项目并通过复制/编辑有冲突的代码块来手动解决它。

提交到存储库或从存储库更新(与存储库同步)后,您将在控制台视图中看到某些项目存在冲突。当您查看 Package 中的该文件时,您会在原始文件旁边看到 3 个文件:

myfile.txt (original file)
myfile.txt.mine
myfile.txt.r3293 
myfile.txt.r3501

右键单击您的原始文件,然后选择团队 -> 编辑冲突。在提供的差异视图中,编辑左侧的文件以匹配您想要的最终结果。(即,您可能希望保留一些更改并从 SVN 的修订版中复制新的更新,放弃所有更改并仅保留您的更改等。)完成后,保存文件。再次右键单击您的原始文件,然后选择 Team -> Mark Resovled。

您会看到添加的 3 个文件消失了。您现在可以“安全地”提交您的工作。

没有简单的方法可以做到这一点,因为当出现这种冲突时,SVN 无法决定什么是最佳选择。

于 2009-10-08T20:54:35.697 回答
11

我知道这个线程很旧,但如果有人正在寻找更新的答案,我的经验可以提供帮助。
我正在使用 subclipse 1.8。右键单击原始文件并选择“标记已解决...”,您将有几个选项,其中包括将本地文件或基础文件作为正确版本。您可以使用这些选项节省时间。

于 2012-09-14T08:01:21.193 回答
4

我找不到“标记已解决”,所以我在手动删除生成的文件后单击了“标记为合并”。

于 2013-09-10T07:31:31.543 回答
0

执行以下步骤:

  • 将最新的工作更新复制到安全的地方。

  • 选择有冲突的文件。右键单击>选择替换为>>从存储库中选择最新。

  • 然后返回到您保存的工作副本并手动将当前文件内容(已在上述步骤中覆盖)替换为您的。

  • 然后从团队中选择 Commit... 这种方式应该解决冲突,并将您的最新更新保存到 SVN 存储库。

于 2017-03-05T06:48:34.637 回答