【问题标题】:Handling conflicts in SVN with Tortoise?用 Tortoise 处理 SVN 中的冲突?
【发布时间】:2010-11-07 03:29:39
【问题描述】:

任何时候出现诸如合并冲突或类似的问题时,都会让我慢下来。

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

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

当我去提交时,我显然得到了冲突错误。他编辑的文件甚至不再存在于我的工作副本中。我如何告诉 SVN 停止为冲突而哭泣并强制它接受我的工作副本(即,用我的工作副本覆盖头部修订)。

【问题讨论】:

标签: svn tortoisesvn conflict


【解决方案1】:

这里是: 如果您在两个窗格视图中,则只能在右窗格(我的)中编辑文件。要应用在左侧文件 (Theirs) 中所做的更改,请右键单击更改的行并选择 Context Menu → Use text block from 'theirs' 。然后将左侧文件中的更改添加到右侧文件中。

有时您实际上需要两个文本块,上下文菜单还为您提供上下文菜单→使用两个文本块(第一个)和上下文菜单→使用两个文本块(最后一个)。

如果您处于三窗格视图(有时称为合并视图)中,则只能在底部视图(合并)中编辑文件。在两个窗格视图中,您可以右键单击冲突的行,然后选择 Context Menu → Use text block from 'theirs' 或 Context Menu → Use text block from 'mine' 。此外,如果您想要两个块,您可以选择上下文菜单 → 在 '他们的' 之前使用来自 'mine' 的文本块或上下文菜单 → 在 'mine' 之前使用来自 'theirs' 的文本块。根据您选择的命令,更改将在生成的合并文件中使用。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      当您更新您的工作副本时,您可以在日志列表中右键单击并选择如何解决冲突:

      • 使用编辑器/TortoiseMerge(或您配置的任何合并工具)解决
      • 使用“他们的”解决,即存储库中的版本
      • 使用“我的”解决,即您的文件版本。

      这也适用于删除文件正确 - 即如果你想从存储库中实际删除文件,需要使用 svn 删除文件。如果您出于方便的原因删除了该文件,您可能希望在更新之前svn revert它,因为工作副本中缺少的文件也是修改后的文件(不足为奇)。

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

      【讨论】:

        【解决方案4】:

        我是这样做的:

        1. 右键单击解决方案文件夹,单击 TortoiseSVN -> 显示日志。
        2. 右键单击要还原的修订版,选择“Revert Changes from this revision”
        3. 右键单击冲突文件夹,选择“已解决”。
        4. 提交您的解决方案
        5. 利润

        【讨论】:

        • 你的伙伴对你修复他的工作副本的承诺也是这样吗? ;-) 我建议与您的好友交谈,提交小的逻辑更改并经常更新。
        • 如果我进行了更改并提交,而其他用户进行了更改并希望该更改与我提交的内容合并怎么办?我对此有点挫折。
        【解决方案5】:

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

        【讨论】:

        • 嗯,它发生了,更新或提交在解决之前不起作用。
        • 我们可以如何回滚他的提交吗?
        • 有时我不得不将我的工作备份到一个单独的文件夹中,删除存储库并从 SVN 服务器重新创建我的本地存储库/主干。您也可以尝试“清理”和“已解决”功能,但这些功能通常效果不佳。只需确保在擦除任何内容之前双方都备份了更改,这样就不会丢失工作。将来,最好在提交之前更新。它可以省去这些麻烦。
        • 您可以使用菜单中的“显示日志”回滚提交。这是 Tortoise 的链接:tortoisesvn.net/docs/release/TortoiseSVN_en/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-30
        相关资源
        最近更新 更多