【问题标题】:Renaming computer broke TFS binding重命名计算机破坏了 TFS 绑定
【发布时间】:2019-08-08 14:35:54
【问题描述】:

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

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

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

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

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

您确定要删除选定的工作区吗?所有待处理 所选工作区中的更改将丢失。此操作是永久性的。

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

Visual Studio 2017:版本 15.7.6

TFS:版本 16.131.27701.1

【问题讨论】:

    标签: tfs visual-studio-2017


    【解决方案1】:

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

    【讨论】:

    • 那么TFS消息基本上没有意义?
    • 嗯,从某种意义上说,未决的更改已经丢失。它们将不再显示在挂起的更改视图中,因为它将不再查看该工作区。但这些更改仍将在您的本地,您只需将它们复制到新工作区即可。
    • 创建新文件夹,然后将新工作区指向该文件夹后,VS 说“工作区已修改。版本控制中的一个或多个工作文件夹已更改。您想从版本控制中获取最新文件更新你的工作空间?”所以你想让我取消这条消息,将项目从旧工作区文件夹复制到新文件夹?
    • 您可以获得最新的,然后只需将旧文件复制到上面并签入。
    【解决方案2】:

    删除工作区

    如果您删除包含待定更改的工作区,Team Foundation 在删除过程中取消待处理的更改 过程。删除工作区不会删除文件和文件夹 在该工作区中的客户端计算机上。

    工作区已修改。版本控制中的一个或多个工作文件夹已更改。你想从版本控制中获取最新的文件来更新你的工作空间

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

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

    最后检查挂起的更改,一切都应该恢复正常。

    【讨论】:

    • 重命名计算机后的预期行为?我不敢苟同:)
    • 在我的情况下,Windows 开始复制一些 100K/10GB 文件,并且直到大约一半或大约 15 分钟后才提示覆盖具有相同名称的现有文件。在这里添加以防你像我一样焦虑:)
    • @joym8 感谢您的友好分享。也很抱歉造成了误会。我没有解释清楚,这应该是工作区更改后提示对话框的预期行为。在大多数情况下,当您使用 workspaces command /updateComputerName 时,它应该可以工作。这只是为了防止您在计算机名称更改后必须进行新的获取和映射。您的本地机器可能有问题。但是,您在发布此工单时已经删除并创建了新工作区。因此,我们不需要花时间深入研究它。感谢您的理解。
    猜你喜欢
    • 1970-01-01
    • 2016-07-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    相关资源
    最近更新 更多