【问题标题】:Is it possible to disable the auto-merge option in Visual Studio Team System 2008? If so how?是否可以在 Visual Studio Team System 2008 中禁用自动合并选项?如果有怎么办?
【发布时间】:2010-12-12 10:08:33
【问题描述】:

我想在将另一个开发人员处理过的文件签入到 TFS 时禁用自动合并功能,这样我总是需要手动合并。有没有办法做到这一点?

【问题讨论】:

    标签: visual-studio-2008 tfs automerge


    【解决方案1】:

    尝试执行以下操作(适用于 2012 年以后的所有 Visual Studio 版本):

    工具 -> 选项 -> 源代码管理 -> Visual Studio Team Foundation Server -> 取消选中“尝试在生成冲突时自动解决冲突”:

    【讨论】:

    • 我认为这里的用户想要完全禁用自动合并的功能。我猜是基于你引用的选项在写这个问题时不存在的事实......
    • 以防万一您需要链接..请参阅此帖子donovanbrown.com/post/2013/01/31/…
    • 即使在 VS2015 上也能工作!帮助很大!
    • 这仅适用于冲突,但 VS 并不总是将分支之间的差异视为冲突。例如,如果您希望项目引用的路径在分支之间有所不同。
    【解决方案2】:

    Visual Studio 2008 的简短回答似乎是否定的。

    【讨论】:

      【解决方案3】:

      只要两个人更改了同一个文件,您就必须“合并”代码。这可以采取三种形式:

      • 保留您的版本(放弃他们的更改)
      • 保留他们的版本(放弃您的更改)
      • 合并两个更改以将它们混合在一起

      您不能“关闭它”,因为没有其他安全的方法可以解决冲突。

      关闭合并最接近的方法是禁止多次签出(锁定文件,以便一次只有一名开发人员可以处理它)。这可以防止发生两个并发编辑,从而避免完全合并的问题。 (代价是开发人员经常被阻止并且无法在另一个开发人员拥有锁定的情况下处理文件)。这是一种糟糕且通常效率低下的工作方式——我不会推荐它。

      您可以最大限度地减少合并的需要:

      • 经常签到。许多小的更改减少了合并冲突的风险,而一些大的更改增加了您的风险。
      • 将大型且经常更改的文件拆分为多个较小的文件,以最大程度地减少 2 个开发人员需要同时更改同一个文件的机会
      • 在开始处理文件之前,请检查是否有其他人正在编辑它,并尝试重新组织您的“日程安排”,这样您就不必在其他程序员处理该文件时开始编辑该文件(自我- 强加“软锁”,只是为了减少需要合并的机会)

      您还可以升级合并工具。 Visual Studio 的合并是可怕,难以使用,并且经常在代码中引入问题。它咬了我很多次,我无法相信它,所以每次都必须进行痛苦的手动合并。我现在使用 Araxis Merge,它总是完美地自动合并,让我相信我可以让它为我做合并。 (我从来没有使用过另一个让我有信心的合并程序,这些年来我几乎尝试了所有其他选项)。当需要手动合并时,它提供了一个非常清晰的“阅读”合并视图,以及用于选择如何合并每一位代码的非常快速和直观的 UI,使其非常高效。我曾经在 VS 中进行复杂的合并挣扎了 3 天(多次破坏代码直到我放弃),然后我购买了 Araxis Merge 并在 15 分钟内完美地重新完成了整个合并。一个好的工具确实可以消除合并的痛苦。

      (我与 Araxis 没有任何关系,我无法忍受大多数可怕的合并工具)

      【讨论】:

      • 我不想取消合并功能。我只想关闭自动合并“功能”,因为它往往会非常糟糕。基本上我想要它,所以我总是会手动合并。
      • 我已经将它设置为在 Winmerge 中进行手动合并,这使得手动合并几乎没有痛苦。
      • 啊。在那种情况下,很抱歉没有很有帮助。恐怕我会分享你的抱怨(在 VSTS 和合并工具之间往返合并时必须完成的对话数量是如此令人沮丧、乏味和浪费时间!只要我有空闲时间,我想我会为 TFS 写一个替代前端,因为 MS (使用技术术语)真的很烂)
      • 别担心,我的问题不是很清楚。我已经对其进行了编辑,希望更加清晰。
      • +1 无论如何都是一个很好的答案。我敢肯定,有人会提出这个问题,实际上只需要对合并进行一个很好的解释,您的回答将是一个巨大的帮助。另外为了将来参考,以下是您如何设置 VS 以使用与 VS 内置工具不同的差异/合并工具:blogs.msdn.com/jmanning/articles/535573.aspx
      猜你喜欢
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 2010-12-17
      相关资源
      最近更新 更多