我正在尝试从 checkout 项目的本地工作区创建一个分支。
基本背景:
我从一个项目的“主干”中 checkout 并进行了很多更改。
我现在想将这些更改检查到一个新分支中。
我从源代码管理中创建了一个新分支 - 但我的工作区仍然映射到主干。
我按照我在这里找到的一篇文章中的步骤操作:Branch from local workspace
所以我搁置了我的更改。
创建了一个分支。
使用TFPT从trunk迁移到branch
tfpt unshelve "My uncomplete changes" /source:"$/MyRoot/MyProject-Trunk" /target:"$/MyRoot/MyProject-Branch"
一切看起来都很顺利(除了它似乎不支持已重命名的文件 - 所以我不得不跳过它们)
但一切都没有改变。
分支与主干完全相同(不包括本地更改)
我的工作区仍然映射到后备箱。
如果我办理登机手续,它会进入行李箱。
我试图取消映射我拥有的 checkout 版本,删除本地文件,然后 checkout 分支,然后取消我所做的更改,但我被淹没了
No appropriate mapping exists for $/Root/MyProject/Myfile.cs
看起来很简单,但 TFS 似乎为 SVN 中如此简单的任务增加了一层额外的复杂性......
希望我做错了一些愚蠢的事情。
任何帮助表示赞赏。
最佳答案
尝试这个:
Source Control Explorer
,选择 Workspace->Workspaces...
从工具栏。 Edit
为您的工作区添加映射到您的新分支,例如Active|$/Root/MyProject-Branch|<My Local TFS Storage>\MyProject-Branch
tfpt unshelve <shelveset> /migrate /source:$/Root/MyProject /target:$/Root/MyProject-Branch
.它应该创建一个新的搁置集,并将映射更改为您的新分支。 顺便说一句,在 TFS 中,该术语是将项目/分支映射到本地存储,而不是像在 SVN 中那样“ checkout ”。该术语用于您对 ;) 进行更改的那些文件。
关于visual-studio-2010 - TFS - 从本地工作副本创建一个分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907654/