是否可以在Visual Studio Team System 2008中禁用自动合并选项?如果是这样的话?

时间:2009-11-02 20:39:35

标签: visual-studio-2008 tfs automerge

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

3 个答案:

答案 0 :(得分:118)

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

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

enter image description here

答案 1 :(得分:3)

Visual Studio 2008的简短答案似乎没有。

答案 2 :(得分:1)

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

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

你不能“关闭它”,因为没有其他安全方法来解决冲突。

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

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

  • 经常入住。许多小的变化会减少您对合并冲突的影响,而一些大的变化会增加您的曝光率。
  • 将较大且经常更改的文件拆分为许多较小的文件,以最大限度地减少2位开发人员同时需要同一文件的可能性
  • 在开始处理文件之前,请检查是否有其他人正在编辑它,并尝试重新组织您的“计划”,这样您就不必在其他程序员正在处理它时开始编辑该文件(自我 - 提供“软锁”,以减少合并的可能性)

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

(我不以任何方式与Araxis有关联,我无法忍受大部分可怕的合并工具)