代码之家  ›  专栏  ›  技术社区  ›  Bryan Anderson

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

  •  62
  • Bryan Anderson  · 技术社区  · 15 年前

    我想禁用自动合并功能时,签入文件的TFS,另一个开发人员已经工作,所以我总是需要手动合并。有什么办法吗?

    3 回复  |  直到 6 年前
        1
  •  117
  •   AStopher    6 年前

    尝试执行以下操作(从2012年起在所有Visual Studio版本中工作):

    工具-gt;选项-gt;源代码管理-gt;VisualStudioTeam Foundation Server & gt;unChestin“试图在生成冲突时自动解决冲突”:

    enter image description here

        2
  •  3
  •   Bryan Anderson    15 年前

    从Visual Studio 2008开始,简短的答案似乎是否定的。

        3
  •  1
  •   Jason Williams    15 年前

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

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

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

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

    您可以最小化合并的需要:

    • 经常登记。许多小的改变减少了你在合并冲突中的暴露,而一些大的改变增加了你的暴露。
    • 将大文件和经常更改的文件拆分为多个小文件,以最大限度地减少两个开发人员同时更改同一文件的机会。
    • 在开始处理文件之前,请检查是否有其他人正在编辑该文件,并尝试重新安排您的“日程”,这样您就不必在其他程序员处理该文件时开始编辑该文件(一个自我强制的“软锁”,以减少必要的合并机会)。

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

    (我与Araxis没有任何关系,我只是无法忍受那里的大多数糟糕的合并工具)

    推荐文章