我遇到一个问题,我想将一个特定的变更集从我的主分支合并到我的发行分支。
我正在使用Visual Studio 2015和团队服务(TFS)。
我执行了以下步骤:
预期:仅应用所选变更集中的变更
实际::程序会合并到所选变更集。
这是一个特定的场景:
当主分支位于变更集19时,项目会分支
主分支现在还包含变更集20到25
我想将变更集24合并,但不将任何其他变更集合并到child / release分支中。
如果按照上述步骤操作,则合并工具还会将main中的20、21、22和23合并到子级中。
我的问题是,是否有一种简单的方法可以仅合并所选变更集(24),而不合并任何其他变更集?
我已经尝试了命令行,但是它给了我相同的结果。
答案 0 :(得分:1)
合并时,选择“选定的变更集”选项,如下所示。在下一个屏幕上,您将能够选择一个变更集,或者按住Ctrl键并单击以选择多个变更集。
此屏幕截图来自VS2019,因为我手头没有VS2015,但是该选项将位于同一位置,即使它的名称可能略有不同。
答案 1 :(得分:0)
您不能一次性合并多个变更集,除非变更集是按顺序排列的。看看下面类似的问题:
您必须一次性合并单个变更集或顺序变更集。
我已经尝试了命令行,但是它给了我相同的结果。
恐怕您可能使用了错误的格式。
以下示例将所有变更集合并到变更集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 :(得分:0)
奇怪-第一次选择单个变更集对我不起作用-我将所有变更移至该变更集-但是序列是 从主变更到生产变更集 选择变更集7 选择变更集9 在变更集9的文件中,我将所有变更更改为9。
所以我全力以赴,做了 从主变更到生产变更集 选择变更集7 签入分支 选择变更集9
这次,我只获得了变更集9的文件变更-不是历史变更(即仅应用了差异) 一切都很好。