由于他们应该将大多数Power Tools功能集成到VS2017中,因此新命令“tf unshelve”与旧命令“tfpt unshelve”不同,可以将shelvesets移动到另一个分支,因为您无法添加源和目标使用新命令。我真的不想在我的笔记本电脑上安装VS2015只是为了移动一个shelveset。有谁知道如何用VS2017做到这一点?我很难相信这已经不可能了。
非常感谢任何帮助!
另一个解决方法......
这将保留对变更集2的更改并回滚原始分支。
此过程可能不适用于每个公司及其政策,但确实有效。我不喜欢它,但有时它是必要的。
不幸的是,在VS 2017中,目前仍然不支持使用命令“tftp unshelve
”或“tf unshelve
”将Shelveset移至另一个分支。
已经有一个feedback submitted here跟踪它,正如Youhana Naseim [MSFT]在下面提到的(源here):
对于VS 2017,我们没有电动工具发布。我们一直在评估产品中仍然缺少的功能。最值得注意的三个是:
- TFS Windows Shell Extensions集成
- 按状态查找服务器工作区
- 取消搁置/迁移
因此,作为一种解决方法,您可以尝试以下方法:
c:\projects>tf unshelve
2)。 c:\projects>tf rename 314.c ..\newdir\1254.c
当我知道分支文件可以被架子集直接覆盖时,我就是这样做的。如果你需要合并,那么使用win-merge与目录比较来重新组合。
令人遗憾的是,这还没有作为本机功能被置于VS中,但是当你考虑到解除代码合并,保留历史等的复杂性时,任务变得复杂。祝好运!
从那时起(2019年5月),TSPT在Visual Studio 2017中不可用。
我找到的解决方法是创建一个新的分支并使用像WinMerge(http://winmerge.org)这样的工具来比较和合并从Main到新分支的更改,然后当它完全正确时我撤消主分支上的更改。