use*_*700 6 merge tfs branch reparenting baseless-merge
我有以下分支结构:
- Main
|- Release 1
|- Release 1.1
|- Release 2
Run Code Online (Sandbox Code Playgroud)
我想重新发布1.1版到Main,所以它看起来像
- Main
|- Release 1
|- Release 1.1
|- Release 2
Run Code Online (Sandbox Code Playgroud)
我想这样做的原因是因为许多变更集需要从Main合并到Release 1.1而不是版本1
我一直在尝试使用以下命令从Main到Release 1.1进行无基本合并:
tf merge /recursive /baseless $/Main $/Releases/Release1.1
Run Code Online (Sandbox Code Playgroud)
它工作得很好,一旦签入,我可以重新发布1.1版到Main.
但事实是,这个命令合并了Main的所有内容,我只想创建一个合并关系.我不想合并从Main到Release 1.1的所有内容,因为其他分支的许多其他更改同时发生.
有没有办法实现这一目标,还是所有未来的变更集都需要每次都毫无根据地合并?
根据 James Reed 的评论,在两个分支之间创建合并关系的最简洁方法是简单地删除/recursive参数:
tf merge /baseless $/Main $/Releases/Release1.1
Run Code Online (Sandbox Code Playgroud)
然后合并将只包含目标分支根文件夹,您可以在没有任何其他更改的情况下签入该文件夹,而无需挑选更改集。
为了仅仅创建关系[而不是合并所有内容],我们需要通过传递选定的变更集编号来执行从父分支到潜在子分支的无基础选择性合并。这可以通过 GUI 通过遵循博客文章中提到的以下步骤来实现:\n http://roadtoalm.com/2012/09/19/reparent-of-a-source-control-branch-why-and-如何/
\n\n虽然本博客讨论了重新父级化,其中我们将所有更改从潜在父分支合并到子分支\xe2\x80\xa6,但有时我们不会这样做新父分支的所有更改。那我们该怎么办呢?这个想法是继续选择所有更改并将它们合并到子分支,然后撤消不需要的更改的挂起更改。取消所有不需要的更改后,继续签入。然后根据博客,我们需要将 reparent 选项设置为新的父级。我知道这不是一个干净的方法,但这很有效!
\n| 归档时间: |
|
| 查看次数: |
8127 次 |
| 最近记录: |