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

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

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 文件 菜单中,选择 “源代码管理>联机”。

    此时会显示 “Go Online ”对话框,并显示脱机所做的更改。

  2. 选中每个要提交的更改项的复选框,然后选择联机

    你脱机所做的更改已作为挂起更改添加到 TFVC。

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

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

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

    此时会显示“ 源代码管理设置” 对话框。

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

  3. 通过选择“启用服务器工作区的异步签出功能”,可以缩短系统将文件签出到服务器工作区的时间。 如果选择此选项:

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

在命令提示符下工作

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

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

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