重命名计算机破坏了 TFS 绑定

Renaming computer broke TFS binding

不得不重命名我的 PC,这导致 TFS 出现问题。我工作区中的所有解决方案似乎都与源代码管理无关。

文件 > 源代码管理 > 高级 > 更改源代码管理

运行 this SO thread 中提到的这个命令没有任何明显的区别:

tf workspaces /updateComputerName:oldPCName /s:"https://tfs-host-url/tfs/OurSolutions"

我在想也许从 VS 管理工作区对话框中删除旧的工作区条目可能会对 运行 上述命令产生影响?当我尝试删除旧工作区时(单击“显示远程工作区”后),我收到此消息:

Are you sure you want to delete the selected workspaces? All pending changes in the selected workspaces will be lost. This operation is permanent.

问题:这条消息到底是什么意思?我不会丢失磁盘(旧工作区)上的未决更改,对吗?我可以在创建新工作区后签入它们吗?那么究竟会丢失什么呢?

Visual Studio 2017:版本 15.7.6

TFS:版本 16.131.27701.1

您的待定更改仍将存在于旧工作区中。在不同位置创建新工作区后,将旧文件复制到其中,您将能够签入那些待处理的更改。我可能想检查每个文件,但没关系。

Deleting a Workspace

If you delete a workspace that contains pending changes, Team Foundation cancels the pending changes as part of the delete process. Deleting a workspace does not delete the files and folders on the client computer that were in that workspace.

工作区已修改。版本控制中的一个或多个工作文件夹已更改。是否要从版本控制中获取最新文件以更新您的工作区

这是预期的行为,因为您的工作文件夹已更改,服务器和本地之间没有映射。更好的方法是首先从服务器端获取文件并建立映射。

然后将备份 files/folders 从旧工作区文件夹复制到新工作区文件夹。 Windows系统会判断替换文件和添加新文件。此后,TFS 系统将自动检测本地的更改并将它们列为新的待处理更改。一些新添加的文件可能会留在排除列表中,手动将它们提升到包含列表中。

最后检查待定更改,一切都应该恢复正常。