在错误的TFS分支中“移动”变更集

时间:2012-06-18 18:39:46

标签: tfs tfs2010

假设我在错误的TFS分支中签入更改。我需要将我的更改发送到另一个分支,然后以某种方式从错误的分支中消除这些更改。这可以在不诉诸选择性复制/粘贴的情况下完成吗?最终我希望我在分支中的更改我错误地将它们添加到......还没有。

如果我没有检查更改,我可以搁置它们,然后use tfpt to unshelve into a different branch。但这不会起作用,因为我已经检查了这些变化。


示例:

我有一个MAIN和DEVELOPMENT分支的环境。我需要创建一个名为Buzzsaw的新模块。我有一个开放的解决方案,并且对我的更改进行了修改。然后我检查它们。哎呀。我意识到我刚刚将模块检入MAIN,但它应该已经检查到了开发中。我可以回滚错误的变更集,但之后我需要手动将我的更改应用于开发。大多数受影响的文件在分支之间是相同的,但是有足够的差异,我宁愿不复制/粘贴我的更改。

我可以将我的更改从MAIN合并到DEV,然后回滚MAIN。但是现在当我确实希望它们存在时很难将更改带回MAIN(将DEV合并到MAIN现在不会移动该变更集,因为它已经合并了。)


我该怎么办?是否有一种相当干净的方法来实现这一目标?

2 个答案:

答案 0 :(得分:6)

从错误的分支合并到正确的分支,然后在错误的分支中执行changeset rollback

无论何时需要,您仍然可以将变更集从正确的分支合并回错误的分支。

答案 1 :(得分:3)

您可以“搁置”错误分支中的更改unshelve them into the correct one