visual-studio-2010 - TFS - 从本地工作副本创建一个分支

标签 visual-studio-2010 version-control tfs

我正在尝试从 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 中如此简单的任务增加了一层额外的复杂性......
希望我做错了一些愚蠢的事情。

任何帮助表示赞赏。

最佳答案

尝试这个:

  • 您需要在工作区中包含新分支才能看到任何更改(否则您将只能看到 checkin 的版本)。来自 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/

    相关文章:

    Git: pull 错了分支,然后推送了 merge 。如何撤消?

    .net - 单人开发团队(.NET 平台)中的版本控制、部署和持续测试

    visual-studio - visual studio 2017 搜索 tfs 变更集评论

    tfs - 如何在TFS中轻松比较/比较2个货架集?

    tfs - 将 NUnit 与 TFS 2010 一起使用? (特别是报告)

    visual-studio - 无法打开项目 <名称>,因为无法创建 Microsoft Visual C# 2010 编译器。请重新安装 Visual Studio

    c# - 当库链接为 DLL 时,VisualStudio 调试器中断已处理的异常

    visual-studio - 如何停止 Visual Studio 自动升级项目?

    visual-studio - 有没有一种方法可以防止Visual Studio 2010在ASP.NET MVC View 中格式化C#代码?

    c# - 如何使用 LibGit2Sharp 获取分支?