Visual studio 2010 TFS-从本地工作副本创建分支

Visual studio 2010 TFS-从本地工作副本创建分支,visual-studio-2010,version-control,tfs,Visual Studio 2010,Version Control,Tfs,我正在尝试从签出项目的本地工作区创建分支 基本背景: 我从一个项目的“主干”中签出,并做了很多更改。 现在我想将这些更改签入新分支。 我从源代码管理中创建了一个新分支,但我的工作区仍然映射到主干。 我遵循了我在这里找到的一篇文章中的步骤: 所以我搁置了我的更改。 创建了一个分支。 使用TFPT从主干迁移到分支 tfpt unshelve "My uncomplete changes" /source:"$/MyRoot/MyProject-Trunk" /target:"$/MyRoot/MyP

我正在尝试从签出项目的本地工作区创建分支

基本背景: 我从一个项目的“主干”中签出,并做了很多更改。
现在我想将这些更改签入新分支。

我从源代码管理中创建了一个新分支,但我的工作区仍然映射到主干。

我遵循了我在这里找到的一篇文章中的步骤:

所以我搁置了我的更改。
创建了一个分支。
使用TFPT从主干迁移到分支

tfpt unshelve "My uncomplete changes" /source:"$/MyRoot/MyProject-Trunk" /target:"$/MyRoot/MyProject-Branch" 
一切看起来都很顺利(除了它似乎不支持已重命名的文件,所以我不得不跳过它们)

但一切都没有改变。
分支与主干完全相同(不包括本地更改)
我的工作区仍映射到主干。
如果我办理登机手续,它会进入后备箱

我试图取消映射我已签出的版本,删除本地文件,然后签出分支,然后取消搁置我所做的更改,但是我被淹没了

No appropriate mapping exists for $/Root/MyProject/Myfile.cs
这看起来很简单,但TFS似乎给SVN中如此简单的任务增加了一层额外的复杂性…
希望我做错了一些愚蠢的事情

感谢您的帮助。

试试以下方法:

  • 您需要在工作区中包含新分支,以便查看任何更改(否则您将只看到签入的版本)。从源代码管理资源管理器中,从工具栏中选择
    工作空间->工作空间…
  • 为您的工作区选择
    Edit
    ,并向新分支添加映射,例如。
    Active |$/Root/MyProject Branch |\MyProject Branch
  • 运行命令
    tfpt unshelve/migrate/source:$/Root/MyProject/target:$/Root/MyProject Branch
    。它应该创建一个新的搁置集,并将映射更改为您的新分支
  • 尝试将新迁移的搁置集取消搁置到新分支上
  • 顺便说一句,在TFS中,术语是将项目/分支映射到本地存储,而不是SVN中的“签出”。该术语用于您对其进行更改的文件;)