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

75

我对很多文件进行了更改,同时我想将这个未经测试的代码提交到一个尚未创建的分支,以免影响现有代码库的用户。

由于我触及了非常多的文件,并创建和添加了新的子项目等等,因此我想避免手动复制文件和文件夹。

在Visual Studio中,最简单的方法是什么?

1个回答

93

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

  1. 创建您更改的保管文件夹(从UI或 tf shelve . /R
  2. 创建新的分支
  3. 下载并安装Team Foundation Server Power Tools
  4. 从Visual Studio命令提示符中运行以下命令:tfpt unshelve /migrate /source:$/TeamProject/Main /target:$/TeamProject/Beta

这将基本上重写您保管文件夹中的路径以适用于新分支。


13
在映射的目录下运行tfpt unshelve,以避免出现“无法确定工作区”的错误。 - tymtam
14
值得一提的是,在发出此命令后,您将能够选择要移动的哪个代码保留集。 - tymtam
7
另外还有一点需要提到的是:如果你执行了上面第4步并出现了“已经添加了具有相同键的项”的错误信息,确保先撤销源分支上的更改。请参考这篇文章此外,这个方法已经被证实可以在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 已经不存在了。你有没有想到现在应该怎么做? - Jordan
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接