我原以为在TFS中的分支重设父级的目的是当我有充分理由时可以设置任何我想要的父分支。
然而,当我尝试将一个特性分支重新归属到另一个发布分支时,弹出的对话框只显示两个选项:
- 当前父分支
- "无父分支"
这似乎不是很有用。我是否误解了该功能,还是有什么方法可以将其重新指向其他的分支?
我原以为在TFS中的分支重设父级的目的是当我有充分理由时可以设置任何我想要的父分支。
然而,当我尝试将一个特性分支重新归属到另一个发布分支时,弹出的对话框只显示两个选项:
这似乎不是很有用。我是否误解了该功能,还是有什么方法可以将其重新指向其他的分支?
是的,这是正常现象。通常情况下,你只会看到父分支、“无父分支”和子分支。
如果你想将其重新指向其他分支,你必须先在两个分支之间建立关系。
解决方法是进行无基础合并:tf merge /recursive /baseless new target branch child branch
之后,你就可以在对话框中看到新目标分支了。更多详细信息和步骤,请参考此博客:重新指向 TFS 源控制分支。
正如 @StingyJack 所提到的,我一直在尝试通过创建一个无基础合并关系来重新父项目分支,但是在进行无基础合并时不更新子分支上的任何文件。
使用 TF 合并命令,设置 /discard
开关,允许我们在不修改子分支的情况下建立分支之间的关系,并以没有等待合并的关系开始它们之间的关系:
tf merge $/Path/To/NewParent $/Path/To/Child /baseless /discard /recursive