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

创建或编辑工作区时,可以指定其位置是**“本地”还是“服务器”**。 在大多数情况下,本地是最合适的,因为它提供了几个好处。 最值得注意的是,即使你未连接到 Team Foundation Server,也能执行核心的版本控制操作。

  • 为何我应使用本地工作区?

  • 我可能何时需要使用服务器工作区?

    • 在使用服务器工作域时脱机工作
  • 管理你的团队的团队项目集合工作区设置

  • 从命令提示符处工作

  • 问题解答

    • 在已经应用签出锁定的情况下,某人仍然签出了文件。 这是怎么发生的?

    • 为何我看不到我的团队的某些成员何时签出了文件?

    • 更多...

为何我应使用本地工作区?

使用本地工作区时,将获得下列优势:

**轻松地脱机工作。**在网络连接不可用或不稳定的时候,你可以快速开始编辑文件。 从解决方案资源管理器中,你可以添加、编辑、删除、重命名、撤消和比较工作区中的项,即使你未连接到 Team Foundation Server 也无妨。

**轻松还原本地已删除的文件。**想要还原本地已删除的文件,只需获取文件

**Visual Studio 自动检测更改。**当你添加或删除 Visual Studio 之外的文件时,程序会自动检测到这些更改。

问:本地工作区如何工作?

重要

使用本地工作区的一个缺点是,随着项数的增加,性能会下降。有关详细信息,请参阅下一节。

我可能何时需要使用服务器工作区?

当你使用服务器工作区时,Visual Studio 仅会保留每个文件的一个副本。 当你有大量项时,这会显著减少磁盘空间使用量和提高性能。 我们建议在以下情况下使用服务器工作区:

  • 你的工作区包含 100,000 个以上的项。

  • 你要使用 Visual Studio 2010 或早期版本在工作区中工作。

  • 你需要使用**“启用在签出时获取最新版本”**选项。

**脱机工作具有难度且效率低下。**当在服务器工作区中脱机工作时,你无法使用本地文件,因为除非你将其签出,否则它们为只读。 你只能在切换到脱机模式后从解决方案资源管理器签出文件(如下所述)。 当处于脱机状态时,你不能执行任何其他操作,如添加、删除、重命名或撤消。

提示

你可以通过启用异步签出提高响应能力。有关详细信息,请参阅管理你的团队的团队项目集合工作区设置。

在使用服务器工作区时切换到脱机模式

当你使用服务器工作区但无法连接到 Team Foundation Server 时,源代码管理资源管理器会被禁用。 但是,如果你在服务器工作区中放入文件的本地副本,则你仍可以从解决方案资源管理器编辑它们。 在服务器再次变得可用后,可以将更改签入到版本控制。

提示

如果脱机工作对你很重要,则应考虑使用本地工作区而不是服务器工作区。请参阅本主题前面的本地工作区。

在服务器脱机时使用受版本控制的文件

  1. 从本地工作文件夹中打开要使用的解决方案。

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

  2. 选择**“确定”**,然后编辑解决方案文件。

  3. 在**“文件”菜单中,选择“保存”**。

  4. 在**“保存只读文件”对话框中,选择“覆盖”**以移除文件的写保护。

在服务器可用时向其提交脱机更改

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

    将显示**“联机”**对话框以及你脱机进行的更改。

  2. 在**“名称”下,选中要签入的每个更改对应的复选框,然后选择“联机”**。

    你脱机所做的更改将作为挂起的更改添加到 Team Foundation 版本控制中。

  3. 在**“解决方案资源管理器”中,打开你脱机编辑的文件的上下文菜单,然后选择“签入”**以向服务器提交更改。

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

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

  1. 在菜单栏上,依次选择**“团队”“团队项目集合设置”“源代码管理”**。

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

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

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

    • 将不再强制实施 PendChange 权限。

    • 签出锁定将被禁用

从命令提示符处工作

问题解答

问:在已经应用签出锁定的情况下,某人仍然签出了文件。这是怎么发生的?

**答:**使用本地工作区让签出锁定变得不可强制实施。 如果有足够的权限,你可以使用工作区命令查看用于团队项目集合的本地工作区。

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

问:为何我看不到我的团队的某些成员何时签出了文件?

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

问:能否切换工作区的位置?

**答:**可以,你随时可根据需要将工作区位置从服务器切换为本地,或者从本地切换为服务器。 请参阅创建和使用工作区

问:我是否可在 Visual Studio 的多个实例中使用同一工作区?

**答:**尽管 Visual Studio 不会阻止你对同一工作区运行多个实例,但此用法不受支持。 此外,如果你使用本地工作区,则此工作方式更有可能会导致问题。

问:本地工作区如何工作?

**答:**本地工作区缓存所有文件的未修改版本以使你能够编辑、比较和执行其他操作,而不必连接到服务器。