TFS:将在一个分支本地完成的更改提交到另一个分支


73

我对许多文件进行了更改,与此同时,我发现我宁愿将此未经测试的代码提交给一个尚未创建的分支,以使现有代码库的用户不会受到影响。

当我碰到很多文件并创建并添加了新的子项目等时,我想避免手动复制文件和文件夹。

在Visual Studio中完成此工作的最简单方法是什么?

Answers:


93

使用提供此功能tfpt unshelve /migrate。要使用它,请按照下列步骤操作:

  1. 创建更改的架子集(通过UI或tf shelve . /R
  2. 创建新分支
  3. 下载并安装Team Foundation Server电动工具
  4. 在Visual Studio命令提示符中,运行以下命令: tfpt unshelve /migrate /source:$/TeamProject/Main /target:$/TeamProject/Beta

这实际上将把货架集中的路径重新写入到新分支。


13
从映射目录取消运行tfpt以避免“无法确定工作空间”
tymtam

14
另外值得一提的是,发出此命令后,您将能够选择要移动的架子。
tymtam

7
另一个“值得一提”的内容:如果执行上面的步骤4并获取An item with the same key has already been added,请确保首先撤消对源分支的更改。请参阅本文, 此外,这已确认可与TFS2012一起使用
kaveman

5
Visual Studio命令提示符对我来说还不够;我实际上必须cd进入工作区目录,然后执行完全"c:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools\TFPT.EXE" unshelve /migrate /source:$/blah/Trunk /target:$/blah/Branches/blah安装。重新启动安装程序,看来我已经安装了所有东西。
James Skemp

3
这不再起作用。TFPT.exe不再是。知道现在该怎么做吗?
约旦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.