如何合并特定变更集(TFS)

4
我有一个问题,我想把主分支的特定变更集合并到发布分支。我使用Visual Studio 2015与团队服务(TFS)。我执行了以下步骤: - 选择主分支 - 选择合并选项 - 选择正确的发布版本 - 选择“选定变更集”选项并按下“下一步” - 选择我想要与该分支合并的变更集 - 按完成即可开始
期望的结果是:仅应用所选变更集中的更改。 实际结果是:程序将合并到所选的变更集为止。
具体情况如下: 该项目在主分支处的变更集19时进行了分支。 现在,主分支还包含变更集20到25。 我想合并变更集24,但不包括任何其他变更集,进入子/发布分支。 如果我按照上述步骤进行操作,合并工具将从主分支合并变更集20、21、22和23到子分支。 我的问题是,是否有一种简单的方法只合并所选变更集(即24),而不合并任何其他变更集? 我尝试过命令行,但它给出了相同的结果。

在合并时选择“合并特定变更集”选项并继续。 - Pashupati Khanal
你能详细说一些吗?拜托 ^^ - Tùng Duy
嗨,Tùng Duy,这个问题有什么更新吗?你还有其他的疑虑吗?如果我的回复有帮助或指出了正确的方向,请考虑将其标记为答案,这也将有助于社区中的其他人。 - PatrickLu-MSFT
3个回答

3
您无法一次性合并多个变更集,除非这些变更集是按顺序的。请参考下面类似的问题:
您必须一次性合并一个单独的变更集或一个按顺序排列的变更集。

我尝试过使用命令行,但结果一样。

恐怕您可能使用了错误的格式。
下面的示例将所有变更集合并到changeset 24中,并合并到branch2中。
c:\projects>tf merge /version:C24 branch1 branch2 /recursive

以下示例将更改集 24 合并到 branch2 分支中。
c:\projects>tf merge /version:C24~C24 branch1 branch2 /recursive

在你的情况下,当使用命令行合并时,请选择 /version:C24~C24

2
在合并时,请选择“已选变更集”选项,如下所示。然后,在下一个屏幕上,您将能够选择单个变更集,或使用Ctrl + 单击以选择多个变更集。
此截图来自VS2019,因为我手头没有VS2015,但是即使可能名称稍有不同,该选项也将位于相同的位置。

TFS Source Control Merge Wizard


非常感谢您的回复。但是,如果我按照上述步骤操作,合并工具将合并20、21、22和23,但是我只想合并变更集24而不是任何其他变更集。 - Tùng Duy
你在下一个屏幕上只选择了变更集24吗? - yaakov
亲爱的雅各夫,是的,我已经做了。 - Tùng Duy
@TùngDuy 这对我有效。你的历史记录显示什么?你在哪里看到额外的变更集的变化? - ruffin

0

奇怪 - 第一次使用选择单个变更集并没有起作用 - 我获取了所有变更,直到该变更集 - 但是序列是 从主要到生产变更集合合并 选择变更集7 选择变更集9 在变更集9的文件中,我获得了所有的变更,直到9。

所以我把它全部撤回了,然后做了以下操作 从主要到生产变更集合合并 选择变更集7 在分支上签入 选择变更集9

这次我只得到了变更集9文件的更改 - 不是历史更改(即仅应用差异) 所以一切都好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接