无需重新下载即可将 TFS 工作区移动到另一台 PC

Posted

技术标签:

【中文标题】无需重新下载即可将 TFS 工作区移动到另一台 PC【英文标题】:Moving TFS workspace to another PC without re-downloading 【发布时间】:2015-06-28 15:43:54 【问题描述】:

我有一个 TFS 工作区,我需要将其移至我的新 PC。我已经复制了整个文件夹结构并确保工作区映射到正确的文件夹。但是,每个文件的“最新”列显示为“未下载”。我该如何协调这一点,以便 TFS 知道文件与服务器版本匹配?

标准答案似乎是重新下载整个内容。不幸的是,存储库很大,我的连接不可靠,而且我有每月的下载配额。命令行工具或电动工具中是否有任何东西可以让它比较文件哈希或类似文件并意识到文件是相同的?

谢谢。

【问题讨论】:

TFS 工作区由所有者、计算机名称和工作区名称标识。如果您的新计算机有一个新名称,请更新您现有的 TFS 工作区以反映该更改。见***.com/questions/8435135/… 和***.com/questions/16216338/… 工作空间是否存储在隐藏的 $tf 文件夹中?我没有看到使用旧 PC 名称的工作区(例如,如果我运行 tf 工作区)。我只看到一个带有我的新 PC 名称的本地存储库,这太疯狂了,因为我的收藏肯定存储在服务器上,而且我知道 URL。 不,工作空间存储在服务器上。 tf workspaces 显示上次连接的缓存数据。如果您知道工作区的名称,您应该能够在服务器上更新它。您可能还想尝试上面引用的其他答案中的一种工具,这可能会使这更简单。 【参考方案1】:

工作副本中有一个二进制元数据文件,它存储了存储库中每个路径到文件系统路径的映射。

它使用绝对路径 - 因此,除非您的新项目文件夹与原始计算机上的位置完全相同,否则它们将不匹配。

因为它是二进制格式,所以你不能做一些简单的事情,比如用文本编辑器或sed 批量替换路径。

【讨论】:

以上是关于无需重新下载即可将 TFS 工作区移动到另一台 PC的主要内容,如果未能解决你的问题,请参考以下文章

将 .bak 数据库文件从备份位置移动到另一台服务器

无需单击按钮即可将数据从一个文本字段传输到另一个文本字段

如何将 Genymotion 下载的虚拟设备复制到另一台机器上?

将预制的 OpenCV 安装移动到另一台 Linux 计算机

如何使用 ASP.NET 将文件从一台机器移动到另一台机器?

AWS s3 getIterator ListObjects 移动到另一台服务器后产生错误