【问题标题】:Why does TFS "Remove Mapping" delete my files?为什么 TFS“删除映射”会删除我的文件?
【发布时间】:2012-07-04 17:24:06
【问题描述】:

我想在另一个文件夹中检出项目的旧版本,因为我不想打扰我修改后的本地内容,所以我想我只是删除映射并将其映射到另一个文件夹,然后再将其映射回来.

我很震惊地看到它开始删除我的文件!!!我赶紧点击取消。幸运的是,它似乎没有删除我修改过的本地文件。

我应该怎么做这样的事情?

这发生在 Visual Studio 2010 的 Team Foundation Server 上,但我确信它适用于所有版本。

【问题讨论】:

  • 这种行为对于 VS 2010 和 TFS 来说是正常的。阅读msdn.microsoft.com/en-us/library/ms245474.aspx
  • 我理解您对标题的痛苦(并为您的挫败感 +1),但我觉得有必要对其进行编辑,因为这种标题不会帮助您轻松查找问题在路上。
  • 我只是需要一点时间来发泄一下 :-)
  • Jehof,有人会认为“删除工作空间”和“删除工作空间映射”会表现不同。现在我对 TFS 的信任度更低了。
  • 八个月内的热门问题。酷。

标签: visual-studio tfs


【解决方案1】:

它这样做是因为 TFS 没用。但是,您可以使用“TF.exe”命令行来绕过 UI 的一些限制。

TF.exe 命令应该在下面的目录下,因此可能值得将此目录添加到您的路径中。

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\tf.exe

然后您可以在驱动器上选择一个合适的位置,创建一个新工作区,然后获取特定版本(或只是最新版本)的代码

C:\my_temp_location> tf.exe workspace /new <workspace_name> /collection:<server_location>
C:\my_temp_location> tf.exe get <source_location> /version:<changeset> /recursive

如果您想查看当前拥有的工作区列表,则只需运行以下命令:

C:\> tf.exe workspaces

【讨论】:

  • 是的,同意没用。如何指定凭据?你有更多命令的链接吗?
  • 没关系,我找到了:/login:&lt;domain@user&gt;,&lt;password&gt; - msdn.microsoft.com/en-us/library/hh190725.aspx
  • 您可以运行tf.exe help 来查看完整的命令集或类似tf.exe help get 来查看该命令的帮助。不过我能感觉到你的痛苦,我真的很讨厌使用这个产品,因为使用了 Subversion,这感觉就像是倒退了一步
  • 感谢您的帮助。我也开始在 Linux 上使用 svn。
  • Team Foundation Sidekicks 是一个很好的 GUI 来执行这些任务:attrice.info/cm/tfs
【解决方案2】:

在不生成任何新工作区的情况下完成您所追求的工作的一种简单方法是:

  • Shelve您将待处理的更改放入新的搁置集
  • 获取您正在寻找的特定版本并进行任何评论
  • 完成后获取最新信息
  • 取消搁置您之前搁置的更改

【讨论】:

  • 可能有用,但我无法比较两个文件夹结构或复制丢失的文件。
  • 我明白你的意思。在不同版本之间比较文件夹的另一种方法是 (1) 从源代码管理资源管理器中选择“查看历史记录”,然后 (2) 突出显示两个不同的变更集(按 Ctrl),最后 (3) 右键单击​​以选择“比较……”。
猜你喜欢
  • 2016-01-29
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
相关资源
最近更新 更多