我应该避免TFS中的无根据合并吗?

我应该避免TFS中的无根据合并吗?,tfs,branching-and-merging,baseless-merge,Tfs,Branching And Merging,Baseless Merge,也许是个简单的问题,但我很难找到答案。我经常在使用TFS作为源代码管理的客户机上工作,他们完全避免使用TFS源代码管理的无基础合并功能 部分原因是过去它需要一个命令行工具来完成,但可能更重要的是,当您现在在界面中执行此操作时,它会向您显示一个黄色感叹号警告符号,表明您确实在执行无基础的合并 这会把他们吓跑,让他们完全逃避。我一直在四处寻找,想弄清楚无基础合并是否涉及任何特定风险,但我无法找到(或无基础合并如何在幕后运作的细节)如果可能的话,应该避免无基础合并。与合并不同,当您进行无基础合并时,您

也许是个简单的问题,但我很难找到答案。我经常在使用TFS作为源代码管理的客户机上工作,他们完全避免使用TFS源代码管理的无基础合并功能

部分原因是过去它需要一个命令行工具来完成,但可能更重要的是,当您现在在界面中执行此操作时,它会向您显示一个黄色感叹号警告符号,表明您确实在执行无基础的合并


这会把他们吓跑,让他们完全逃避。我一直在四处寻找,想弄清楚无基础合并是否涉及任何特定风险,但我无法找到(或无基础合并如何在幕后运作的细节)

如果可能的话,应该避免无基础合并。与合并不同,当您进行无基础合并时,您将忽略任何一方的历史记录。事实上,您可以合并两个完全不相关的分支,这可能很危险


关键是创建一个分支策略,使您不必使用该功能。

让我来扭转这个问题:您为什么建议他们使用无基础的合并?他们的分支结构是什么样子的,这使得这对他们来说是一种常见的操作?这个客户使用一种从Main到Dev再到补丁的分支结构,在这种结构中,经常会出现几个补丁同时在开发中,但还没有准备好合并到Dev,但是有时候,在开发不同的补丁分支时,在它们之间共享会很好。我想我应该使用无基础合并。是的,我注意到当我尝试进行无基础合并时,几乎所有(如果不是全部)更改都会导致“合并冲突”,应该手动解决,即使只有一个分支拥有所有更改。。。如果你问我的话,这似乎是Git的又一个胜利……一个“无基础的合并”,即两个没有共同祖先(或“基础”)的文件的三方合并,意味着你无法识别文件的哪些区域是新的,哪些是共同的。因此,它将在任何系统中产生冲突,无论是Git还是TFVC。”这意味着您无法确定文件的哪些区域是新的,哪些是常见的。因此,它将在任何系统中产生冲突,无论是Git还是TFVC“不完全正确”。问题是它需要是TFSVC中的父级,而git它实际上可以是任何祖先。仅供参考,对于像我一样被“两个文件的三向合并”弄糊涂的人来说,它指的是用户Alice的代码、用户Bob的代码以及他们两人进行更改的基础代码。因此,如果默认的TFS合并工具diffmerge无法确定基础,它将在没有基础的情况下进行合并,即无基础。当您必须进行功能隔离时,没有办法解决此问题。功能切换更糟糕。