2009-06-30 83 views
11

任何时候像合并冲突或类似问题都会出现问题,它确实会减慢我的速度。处理与乌龟SVN的冲突?

有人可以向我解释如何强制解决冲突吗?

例如,我的一个好友编辑了存储库上的文件并提交。当他这样做时,我已经重命名了该文件,并在我的工作副本上进行了许多编辑。

当我去提交时,我明显得到冲突错误。他编辑的文件在我的工作副本上不再存在。我如何告诉SVN简单地放弃关于冲突的哭泣,并迫使它接受我的工作副本(即,用我的工作副本覆盖头版本)。

+0

我发现在那里有乌龟SVN化解矛盾,说明 https://www.youtube.com/watch?v=ZmARaN5eb3U – Zlelik 2016-08-18 09:14:04

回答

0

防止这种情况发生的最好方法是在您提交之前更新。

+0

嗯,这是发生了视频和更新或犯下唐在解决之前,它不会工作。 – KingNestor 2009-06-30 20:44:25

+3

实际上要经常更新。 – 2009-06-30 20:44:41

5

这是我如何做的:

  1. 的解决方案文件夹中点击右键,点击TortoiseSVN的 - >显示日志。
  2. 右键单击要恢复的修订版本,选择“从此修订版本恢复更改”
  3. 右键单击冲突的文件夹,选择“已解决”。
  4. 提交您的解决方案
  5. 利润
8

当你更新你的工作副本,你可以在日志列表中右键单击并选择如何解决冲突:使用编辑器

  • 决心/ TortoiseMerge中使用“他人的”
  • 决心(或任何合并工具,你配置),即版本库
  • 决心使用“我的”,也就是你该版本的文件。即你需要删除的文件使用SVN,如果你想真正从储备库中删除 -

此删除文件正确时也适用。如果您出于方便的原因删除了该文件,则可能需要在更新之前更新svn revert,因为工作副本中缺少的文件也是修改的文件(不出所料)。

总结一下:你不能告诉svn“停止哭泣”,并简单地覆盖你的工作副本。这是一件好事。您需要解决冲突(可能意味着简单地覆盖当前状态),将受影响的文件标记为已解决(svn resolved),然后提交结果。

0

我会说:防止这种情况发生的最好方法是在更新之前...修改文件。 完成更改后,如果在提交之前进行更新,将会丢失它们!

0

这里,它是: 如果您处于两个窗格视图中,则只能在右窗格(我的)中编辑该文件。要应用左侧文件(Theirs)中所做的更改,请右键单击已更改的行并选择上下文菜单→使用来自他们的文本块。然后将左侧文件的更改添加到正确的文件中。

有时候,你实际上需要双方的文本块,并在上下文菜单也为您提供上下文菜单→使用双方的文本块(这个先出现)和上下文菜单→使用双方的文本块(这个后)。

如果在三种窗口模式(有时称为合并视图),你只能在底部视图(合并)编辑该文件是。由于在两个窗口,你可以右键点击从“他们的”或上下文菜单→使用文本块,从“我的”冲突行,或者选择上下文菜单→使用文本块。另外,如果你想两个块,你可以选择从之前“我的”“他们的”或上下文菜单→使用文本块从“他们的”前“我的”上下文菜单→使用文本块。根据您选择的命令,所做的更改将用于生成的合并文件中。

参考链接:https://tortoisesvn.net/docs/nightly/TortoiseMerge_en/tmerge-dug-conflicts.html