将代码从一个分支移到另一个分支

37
我正在尝试使用TFS Power Tools解包到另一个分支上所做的更改。我正在尝试执行命令。
tfpt unshelve /migrate "NuGet Build" "/source:$/ProjectName/Main/Source" "/target:$/ProjectName/Main/Source-NuGet"

但是它返回了消息'tfpt : 无法确定工作区'

我正在从映射到该项目的目录中运行命令。此外,我已尝试使用tf workspaces /s:http://our-tfs

有人知道如何解决这个问题吗?


1
从你的路径名称来看,似乎你没有在分支之间移动(源和目标都在主分支中)。 - James Reed
1
与论坛网站不同,我们在 [so] 上不使用“谢谢”、“感激任何帮助”或签名。请参阅“应该从帖子中删除‘Hi’、‘thanks’、标语和问候语吗?”文章。 - John Saunders
3个回答

37
你可以使用TFPT在命令提示符中定义你的路径。然后,从那里进入到你想要还原代码的目标文件夹或工作区。
1. c:\>path = %path%;C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools

2. cd c:\[some location]\"destination workspace"

3. tfpt unshelve /migrate "NuGet Build" /source:"$/ProjectName/Main/Source" /target:"$/ProjectName/Main/Target-NuGet"

这里有一个视频,可以解释这个问题。

链接http://msdn.microsoft.com/en-us/vstudio/cc896548.aspx


1
谢谢您的回复,但这不是解决此问题的方法。 - Недоброе Привидение
5
提示:如果您需要从另一个用户那里取消保留一个 shelveset,请在形式上提及该用户的域名“NuGet Build;theOtherUser”。 - paulroho
2
谢谢。对我有用。 - AntonK
这对我来说也是如此,tfpt必须在路径上。 - jwrush

6

我知道这个问题已经有答案了,但对于我来说,问题是很容易解决的,只需要使用Visual Studio命令提示符代替默认的Windows CMD即可。大多数解决方案只是说“打开CMD...”,这可能就是问题所在。

原因是Windows CMD知道Power Tools命令(例如tfpt),但不知道普通的VS命令(例如tf)。


4

我找到了问题所在。
我试图使用TFS Power Tools 2008,因为我们正在使用TFS 2008。但是我应该使用与Visual Studio相同版本的TFS Power Tools。


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