Visual studio 2015 如何将TFS变更集从分支A合并到分支C。分支A被合并到分支B,在那里';A和C之间没有合并关系
假设有3个TFS分支-A、B和C。 您可以将A中的变更集合并到B中,也可以将B中的变更集合并到C中。但不能将A中的变更合并到C中。 A->B->C。 分支A中有一些我的变更集,我需要合并到分支C中。 所有变更集(来自所有用户)已从A合并到B 当我尝试从B合并到C时,它没有提供a中的更改集列表(只有一个大的更改集在一段时间内具有所有更改) 当我尝试将我的特定更改集从A合并到B时,我也看不到它们,因为它们已经是分支B的一部分 是否有一种聪明的方法可以将我所选择的更改从a或B合并到C中,并且不会破坏任何未来的合并Visual studio 2015 如何将TFS变更集从分支A合并到分支C。分支A被合并到分支B,在那里';A和C之间没有合并关系,visual-studio-2015,tfs,merge,branch,Visual Studio 2015,Tfs,Merge,Branch,假设有3个TFS分支-A、B和C。 您可以将A中的变更集合并到B中,也可以将B中的变更集合并到C中。但不能将A中的变更合并到C中。 A->B->C。 分支A中有一些我的变更集,我需要合并到分支C中。 所有变更集(来自所有用户)已从A合并到B 当我尝试从B合并到C时,它没有提供a中的更改集列表(只有一个大的更改集在一段时间内具有所有更改) 当我尝试将我的特定更改集从A合并到B时,我也看不到它们,因为它们已经是分支B的一部分 是否有一种聪明的方法可以将我所选择的更改从a或B合并到C中,并且不会破坏任
谢谢。您所描述的被称为无基础合并。尽管您可以执行它们,但不建议这样做,这几乎总是表明您的分支策略有问题 您可以使用
tf
命令行工具执行无基础合并。我不相信这在VisualStudioIDE中是可能的,尽管我可能是错的,因为我已经有好几年没有执行无基础的合并了
我强烈建议您评估您的工作流程中发生了什么,使您处于需要执行无基础合并的情况。可能是您的分支策略不充分,也可能是您的工作流程更适合其他风险投资公司,如Git。您所描述的是所谓的无基础合并。尽管您可以执行它们,但不建议这样做,这几乎总是表明您的分支策略有问题 您可以使用
tf
命令行工具执行无基础合并。我不相信这在VisualStudioIDE中是可能的,尽管我可能是错的,因为我已经有好几年没有执行无基础的合并了
我强烈建议您评估您的工作流程中发生了什么,使您处于需要执行无基础合并的情况。可能是您的分支策略不充分,也可能是您的工作流更适合其他风险投资公司,如Git。不可能实现->B->C合并并保留所有历史记录。分支/移动将丢失文件夹历史记录,但单个文件历史记录实际上并未丢失。它隐藏在文件历史记录行最左边的“ExpandMe”小箭头下。在文件的最旧历史记录条目上或任何您看到它的地方展开它,您也将从不再存在的旧位置看到该单个文件的历史记录 但是,正如您所看到的,合并变更集的分支是基于文件夹历史的。例如
分支B
的第一个变更集将是从分支的变更集XXX
您将无法选择较旧的BranchA变更集
解决方案
实现您所需的一种方法是直接将BranchA
与旧变更集合并为branchc
,即使您将收到如下警告提示:
源和目标之间不存在合并关系。
将执行无基础的合并
您需要在cmd中找到目标分支
tf merge/baseless/recursive
不可能实现A->B->C合并并保留所有历史记录。分支/移动将丢失文件夹历史记录,但单个文件历史记录实际上并未丢失。它隐藏在文件历史记录行最左边的“ExpandMe”小箭头下。在文件的最旧历史记录条目上或任何您看到它的地方展开它,您也将从不再存在的旧位置看到该单个文件的历史记录
但是,正如您所看到的,合并变更集的分支是基于文件夹历史的。例如分支B
的第一个变更集将是从分支的变更集XXX
您将无法选择较旧的BranchA变更集
解决方案
实现您所需的一种方法是直接将BranchA
与旧变更集合并为branchc
,即使您将收到如下警告提示:
源和目标之间不存在合并关系。
将执行无基础的合并
您需要在cmd中找到目标分支
tf merge/baseless/recursive
嗨,瓦迪姆,这方面有什么更新吗?我刚刚执行了baseless merge。并非所有行都正确合并而不显示冲突。这是很棘手的,尤其是如果你仍然可以构建代码,但是一些修复已经不存在了。希望我已经用意外的合并结果更新了文件。瓦迪姆,有什么更新吗?我只是执行了无根据的合并。并非所有行都正确合并而不显示冲突。这是很棘手的,尤其是如果你仍然可以构建代码,但是一些修复已经不存在了。希望我已经用意外的合并结果更新了文件