【发布时间】:2010-12-12 10:08:33
【问题描述】:
我想在将另一个开发人员处理过的文件签入到 TFS 时禁用自动合并功能,这样我总是需要手动合并。有没有办法做到这一点?
【问题讨论】:
标签: visual-studio-2008 tfs automerge
我想在将另一个开发人员处理过的文件签入到 TFS 时禁用自动合并功能,这样我总是需要手动合并。有没有办法做到这一点?
【问题讨论】:
标签: visual-studio-2008 tfs automerge
【讨论】:
Visual Studio 2008 的简短回答似乎是否定的。
【讨论】:
只要两个人更改了同一个文件,您就必须“合并”代码。这可以采取三种形式:
您不能“关闭它”,因为没有其他安全的方法可以解决冲突。
关闭合并最接近的方法是禁止多次签出(锁定文件,以便一次只有一名开发人员可以处理它)。这可以防止发生两个并发编辑,从而避免完全合并的问题。 (代价是开发人员经常被阻止并且无法在另一个开发人员拥有锁定的情况下处理文件)。这是一种糟糕且通常效率低下的工作方式——我不会推荐它。
您可以最大限度地减少合并的需要:
您还可以升级合并工具。 Visual Studio 的合并是可怕,难以使用,并且经常在代码中引入问题。它咬了我很多次,我无法相信它,所以每次都必须进行痛苦的手动合并。我现在使用 Araxis Merge,它总是完美地自动合并,让我相信我可以让它为我做合并。 (我从来没有使用过另一个让我有信心的合并程序,这些年来我几乎尝试了所有其他选项)。当需要手动合并时,它提供了一个非常清晰的“阅读”合并视图,以及用于选择如何合并每一位代码的非常快速和直观的 UI,使其非常高效。我曾经在 VS 中进行复杂的合并挣扎了 3 天(多次破坏代码直到我放弃),然后我购买了 Araxis Merge 并在 15 分钟内完美地重新完成了整个合并。一个好的工具确实可以消除合并的痛苦。
(我与 Araxis 没有任何关系,我无法忍受大多数可怕的合并工具)
【讨论】: