决定使用本地工作区还是服务器工作区

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

在 Team Foundation 版本控制 (TFVC) 中,当你在 Visual Studio 中创建或编辑工作区时,可以指定其位置是“本地”还是“服务器”。 本地工作区缓存每个文件的未修改版本,这样就可以在不连接到服务器的情况下编辑、比较和执行其他操作。

可以按需将工作区的位置从服务器更改为本地,也可从本地更改为服务器。 有关详细信息,请参阅创建和使用工作区

使用本地工作区

如果计算机和所连接的服务器之间没有可靠的连接,并且工作区中的项少于 100,000 个,请使用本地工作区。 如果你以非团队成员的身份工作,且更偏好以类似于 Git 的方式使用文件系统,那么你可能也更偏好本地工作区。

  • 使用本地工作区会使签出锁定无法执行。

  • 使用本地工作区的团队成员的挂起的更改对源代码管理器中的其他团队成员不可见。

  • 虽然 Visual Studio 不会阻止你针对同一工作区运行多个实例,但不支持这种用法。 如果你使用本地工作区,则此工作方式更有可能会导致问题。

重要

本地工作区保留同一文件的多个副本,以便在服务器连接不可用时在本地启用某些版本控制操作。 对于本地工作区,当项数接近或超过 100,000 时,性能可能会下降。 多个副本还将占用更多的磁盘空间。

使用服务器工作区

如果不满足使用本地工作区的特定条件或者使用“启用在签出时获取最新信息”选项,请使用服务器工作区。

断开连接时在服务器工作区中工作

如果通过使解决方案脱机暂时与 TFVC 服务器断开连接,仍可在服务器工作区中工作。 稍后,当连接可用时,可以联机获取解决方案以返回到已连接的行为。 Visual Studio 检测到断开连接的情况并自动使解决方案脱机,但如果你想要手动执行此操作,请按照以下步骤操作。

提示

如果以脱机方式工作对你很重要,请考虑使用本地工作区而不是服务器工作区。

使解决方案脱机

  1. 在 Visual Studio 源代码管理器中,从本地工作文件夹中打开要使用的解决方案。

    如果服务器处于脱机状态,则将显示“脱机”对话框。

  2. 选择“确定”

在解决方案中保存对文件的编辑时,系统可能会提示你使用“保存只读文件”对话框。 脱机时,每个文件预计会有一次此提示。 选择“覆盖”以从文件中删除写入保护。

Visual Studio 不会自动将解决方案重新联机。 你必须使用以下步骤来执行此操作。

当服务器可用时使更改联机

  1. 在“解决方案资源管理器”中,打开解决方案或文件的上下文菜单,然后选择“联机”。 或者,在 Visual Studio“文件”菜单中,选择“源代码管理”>“联机”。

    “联机”对话框随即出现并显示你脱机进行的更改。

  2. 选中要签入的每个更改的复选框,然后选择“联机”。

    将脱机进行的更改作为挂起的更改添加到 TFVC。

管理团队的项目集合工作区设置

如果你是管理员,则可以指定 Visual Studio 默认为团队成员创建的工作区类型(本地或服务器)。 你也可以为团队的服务器工作区启用异步签出。

  1. 在 Visual Studio 菜单栏中,选择“团队”>“项目集合设置”>“源代码管理”。

    “源代码管理设置”对话框出现。

  2. 在“工作区设置”选项卡上,选择“本地”或“服务器”选项。

  3. 你可以通过选择“在服务器工作区中启用异步签出”减少系统将文件签出到服务器工作区所用的时间。 如果您选择此选项:

    • 将不再强制实施“PendChange”权限。
    • 签出锁定已禁用。
  4. 选择“确定” 。

从命令提示符处工作

使用 TFVC 实用工具 WorkspaceWorkspaces 命令从命令提示符创建和管理工作区。

如果有足够的权限,则可以使用以下 workspaces 命令查看项目集合中使用的本地工作区。

tf workspaces /format:detailed /owner:* /collection:https://<YourServer>/<YourCollection>/