如何更改 TFS 中子文件夹的本地路径(不是整个工作区)?

Posted

技术标签:

【中文标题】如何更改 TFS 中子文件夹的本地路径(不是整个工作区)?【英文标题】:How do I change the local path of a subfolder in TFS (not the whole workspace)? 【发布时间】:2018-03-13 22:04:03 【问题描述】:

当我开始从事一个项目时,我在 TFS 中下载了 IPAddress\CompanyName\ProductName\DevBranch,并将其映射到 C:\DevBranch。但是现在我想将根文件夹映射到本地路径,所以我将IPAddress\CompanyName 映射到C:\CompanyName。但是,IPAddress\CompanyName\ProductName\DevBranch 仍然映射到 C:\DevBranch 而不是 C:\CompanyName\ProductName\DevBranch

如何更改此本地路径的映射?我想让它自动将所有文件从旧的本地文件夹移动到新的本地文件夹。

我查找的所有内容都在谈论编辑工作区,并且似乎只适用于更改根文件夹。当我去编辑我的工作区时,显示的唯一本地映射是C:\CompanyName。没有什么可以让我逐个子文件夹更改映射。

编辑:我现在尝试通过添加一个新的工作文件夹来编辑工作区,将源代码管理文件夹设置为IPAddress\CompanyName\ProductName\DevBranch,将本地文件夹设置为C:\DevBranch,然后将本地文件夹更改为C:\CompanyName\ProductName\DevBranch,然后仍然没有工作。源代码管理资源管理器仍将 C:\DevBranch 显示为本地文件夹。请帮忙。我不知道该怎么办。

编辑:我能够在源代码管理资源管理器中右键单击IPAddress\CompanyName,然后单击高级> 删除映射。但是,当我右键单击IPAddress\CompanyName\ProductName\DevBranch 时,不存在这样的选项。这就像某种僵尸映射。我无法更改它,也无法删除它,而且大多数情况下,源代码管理资源管理器都会在不确认映射存在的情况下继续显示它。

【问题讨论】:

您确定查看的是正确的工作区吗? 只有一个。但是,我删除了一个重复的MyWorkspace_1,因为它没有任何文件夹。那可以代表DevBranch 子文件夹吗?如果是这样,为什么在我删除其工作区后子文件夹仍然指向不同的位置? 你用的是哪个版本的VS?我使用 VS 2015 和 2017 进行了测试,一切正常。只需尝试清理 VS 客户端的缓存,也尝试重新启动 VS,然后再试一次。 我正在使用 2017。清理缓存听起来是个好主意。我怎么做?映射信息是存储在本地还是服务器上? 我在这里创建了一个后续问题:***.com/questions/46550033/… 【参考方案1】:

如果要更改 Team Foundation Server (TFS) 工作目录的本地路径,则需要转到 File -> Source Control -> Workspaces(VS2017 为 File -> Source Control -> Advanced -> Workspaces),然后选择您的工作区(它应该与您的计算机匹配名称),然后单击编辑。

在下一个对话框中,将根 TFS 节点的映射更改为硬盘上的新位置。您需要在整个 TFS 树上执行“获取”以更新项目关联。

【讨论】:

在我的 VS2017 中,菜单路径是 File |源代码管理 |高级 |工作区 来源:dirigodev.com/blog/seo-web-best-practices/… “您需要在整个 TFS 树上执行“获取”以更新项目关联”正是为什么 TFS 是一个如此可恶的源代码控制系统,只是不真实。使用 GIT,您只需移动文件夹即可 这也是文件 |源代码管理 |高级 | VS2022 中的工作区。【参考方案2】:

源代码管理资源管理器中存在问题,there is a feedback: Manage Workspace Issues - Changing the Local Path of a Project。

您可以通过单击获取最新版本(您的屏幕截图)来获取最新版本,然后文件将在正确的文件夹中并更新缓存,然后您会发现源代码管理器中的路径已更改。

【讨论】:

如果源代码管理资源管理器显示错误的路径,“获取最新版本”不会下载到错误的路径吗? @KyleDelaney 不,文件将被下载到正确的路径,并且源代码管理资源管理器中的路径将被更新。 好吧,我现在无法测试。我能够覆盖错误的映射,然后删除映射。 在 VS 2019 Preview Version 16.6.0 Preview 1.0 中运行良好【参考方案3】:

对于 VS2017,您可以从 文件 -> 源代码管理 -> 高级 -> 工作区... 在管理工作区对话框中,您需要一个选择行,其中包含您的计算机名称,然后编辑它并更改本地路径。

【讨论】:

【参考方案4】:

关于“您需要在整个 TFS 树上执行“获取”以更新项目关联”,如果您在分支根级别进行“获取”也可以(整个 TFS 树可能太多)

【讨论】:

【参考方案5】:

我在 vs 2019 上遵循了这些步骤

1- 打开源代码管理资源管理器

2- 选择您要更改本地路径的目录。

3- 右键单击​​您选择的目录,然后从“高级”菜单中选择“删除映射”

4- 您可以在本地文件夹文本框中看到您当前的本地路径,也可以更改它,然后按“删除映射”按钮。

5- 删除地图后,从“高级”菜单中选择“地图到本地文件夹”。

6-选择本地文件夹

7-点击地图按钮

【讨论】:

以上是关于如何更改 TFS 中子文件夹的本地路径(不是整个工作区)?的主要内容,如果未能解决你的问题,请参考以下文章

TFS 签入列表仅显示修改的文件,但不显示新创建的文件

在 TFS 2013 中启动回滚后,我可以恢复我最近的本地更改吗?

如何在脱机时以编程方式确定本地文件是不是受 TFS 版本控制

尝试通过使用rest api从TFS票证中读取缺陷历史来获取TFS错误状态更改日期

如何完全重置我的 TFS 设置?

请问tfs2010里面的check out是如何使用的。当将一个文件check out后怎样更改这个文件呢。