我有一个非常混乱的TFS结构,我正在努力清理(感谢我的前任)。我现在有一种情况,我需要有选择地将变更集从一个分支带到另一个分支,在那里它们没有父/子关系,我不希望这些变更通过它们的共享主干。我怎么能这样做?
我尝试过无基础合并 - In TFS, how do I do a baseless merge on specific changesets? - 告诉我合并没有变化。
我想要实现的是TFS : Can a shelveset be restored to another location?,除了变更集。
在GIT中,我认为这将是一个简单的樱桃选择。
我的结构看起来像:
Y-C1-C2-C3
/
X-------------
\
Z
问题是如何在不通过X的情况下将C2从Y转换为Z?
答案 0 :(得分:3)
我们有类似的情况,但在我们的例子中,我们从多个分支进行无基础合并到“临时”构建分支。我们能够做到这一点的唯一方法是使用TFS API编写我们自己的实用程序。
好消息是,您应该能够在不到几百行代码中完成此任务。
基本步骤是:
VCS.GetChangeset()
Changes
以获取已更改的项目列表Workspace.Merge
。答案 1 :(得分:2)
使用Visual studio更简单。
在Visual Studio中,使用“源代码管理合并”向导合并不相关的分支。
它可以选择合并选择性变更集。唯一的限制是变更集必须是连续的