【问题标题】:Complex branching and merging in history TFS历史 TFS 中的复杂分支和合并
【发布时间】:2017-12-10 06:48:48
【问题描述】:

可以从历史变更集创建分支。我现在的情况是我从(例如)3 个月前创建了一个存储库的分支。之后我创建了分支,我想要并且我只想合并 1 个月前的特定变更集,并希望保持分支的其余部分相同。

当我尝试告诉 Visual Studio(源代码管理资源管理器)我想将特定变更集合并到该新分支时,前几个月的变更集不会显示。除了手动工作之外,还有其他方法可以合并我创建的历史分支上特定变更集的更改吗?

【问题讨论】:

    标签: tfs merge branch branching-and-merging source-control-explorer


    【解决方案1】:

    可以从历史变更集创建分支吗?

    创建分支时,您可以选择其生效的历史时间点(日期、变更集等)。

    更多详细步骤请参考 MSDN 教程:Branch a branch


    当我试图告诉 Visual Studio(源代码管理资源管理器)我想要 要将特定变更集合并到该新分支, 不显示前几个月。

    不确定为什么没有显示变更集,请确保在进行合并时选择了正确的选项。另一种方法是直接使用tf merge command 进行合并。例如:

    tf merge /version:C137~C1xx  oldbranch newbranch /recursive 
    

    注意:您只能合并单个变更集或连续变更集

    【讨论】:

    • 我知道如何合并特定的变更集,但问题是当您基于过去的变更集创建分支时,您尝试在过去的特定日期之后仅合并特定的变更集,它不会显示为可合并的更改。
    • @Ricconnect 抱歉,你能否更清楚地解释一下I want to keep the rest of the branch the same.,我不完全明白你的意思,你想保留哪个分支。你能用 branch A , branch B 来代表“分支”,“那个分支”,“新分支”。很容易错过你在说什么。在我看来,您似乎有三个分支,但我无法弄清楚您要合并哪个分支,即 l source ,即目标。
    【解决方案2】:

    使用源代码管理资源管理器(查看->其他窗口->源代码管理资源管理器)右键单击您的存储库,选择“分支和合并”,然后选择“合并”,一旦源代码管理合并向导窗口显示您应该看到两个选项:“直到特定版本的所有更改”和“选定的变更集”,选择“选定的变更集”并选择您的源和目标分支。此窗口将为您提供一个列表,其中包含已签入源分支但未合并到目标分支的特定变更集,请记住,您可以选择连续的更改集以在此合并操作中移动,我希望这会有所帮助

    【讨论】:

    • 我使用了 selected changes 选项,但没有显示更改,可能是因为它是基于过去更改集创建的分支。
    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2015-02-02
    • 2016-01-11
    • 1970-01-01
    • 2019-09-28
    • 2018-05-28
    • 2012-10-16
    相关资源
    最近更新 更多