创建和使用工作区
更新:2010 年 8 月
工作区会将 Visual Studio Team Foundation Server 中的文件夹映射到本地计算机中的文件夹,如果您要处理团队的受版本控制的文件,则需要这样做。 首次从 Team Foundation Server 下载或获取文件的本地副本时,要为这些副本指定本地文件夹。 虽然您没有注意到,但是此操作会创建一个默认工作区,该工作区将所选服务器文件夹映射到所选本地文件夹并保存该映射。
不过,您可手动创建工作区,而不使用默认工作区。 如果您打算经常使用受版本控制的文件,或打算使用多个文件夹中的文件,此选项是最佳选择。
手动创建工作区时,选择特定的受版本控制的文件夹形成一个逻辑隔离组。 然后,您可以组形式对这些文件夹中包含的文件执行以下操作:
刷新本地副本以确保您具有最新的版本,从而可以在本地生成和测试更改。
签出文件以进行修改。
签入、搁置或撤消挂起的更改。
查看其他团队成员所做的挂起的更改,以便在签入更改前可以预测冲突。
本主题将介绍工作区术语,演示如何创建复杂的工作区,并说明工作区的常见问题。 有关如何获取文件的本地副本以及如何将文件添加到版本控制的更多信息,请参见获取团队项目的源代码和向版本控制中添加文件。
主题内容
工作区的基本创建准则
工作区术语
通过使用默认工作区快速获取文件
手动创建工作区
使用多个工作区处理多个分支
常见问题疑难解答
工作区的基本创建准则
创建工作区时,应考虑下列准则:
如果您要使用单个文件夹中的文件,请尽可能映射到一个最接近的团队项目集合级别的文件夹。 这样,您将获得所需的所有文件,而不会获得许多不需要的文件。
仅当需要源代码树中不同区域的文件或希望使用掩蔽限制从一个文件夹中获取的文件数量时,才创建包含多个映射的复杂工作区。
如果您使用多个分支,请为每个分支创建一个单独的工作区,以隔离本地计算机上的各个分支。
如果您打算创建一个本地生成在签入文件前测试更改,请映射生成所需的全部文件,而不仅仅是要编辑的文件。
工作区术语
当您开始使用工作区时,应当了解本地文件夹、服务器文件夹以及映射这二者的工作区所扮演的角色。
服务器文件夹包含团队项目的代码和其他文件。 团队成员可共享受版本控制的文件、跟踪这些文件的更改,以及将这些文件还原为之前版本。 若要列出团队项目的服务器文件夹,请打开**“团队资源管理器”,然后双击“源代码管理”**。
本地文件夹包含您从版本控制服务器获取或签出到本地计算机的文件。 获取文件时,会将文件的只读副本下载到本地文件夹中。 签出文件时,会下载您可编辑的副本。 保存已编辑的文件时,会将更改保存到本地,仅当您签入文件时,更改才会提交到服务器。
工作区会将服务器文件夹映射到本地文件夹。 您可创建将单个服务器文件夹映射到单个本地文件夹的简单工作区,也可以创建包含多个映射的复杂工作区。 如果工作区包含多个映射,会将各个文件夹分组到单个单元,您可以对该单元执行操作,例如,从服务器获取最新版本或签入更改。 若要列出工作区的映射,请打开**“文件”菜单,单击“源代码管理”,然后单击“工作区”。 在“工作区”对话框的“工作区”下,单击工作区,然后单击“编辑”打开“编辑工作区”**对话框。
通过使用默认工作区快速获取文件
当您在 Team Foundation Server 中处理版本控制下的文件时,必须使用工作区。 首次从 Team Foundation Server 下载或获取文件的本地副本时,要为这些副本指定本地文件夹。 虽然您没有注意到,但是此操作会创建一个默认工作区,该工作区将所选服务器文件夹映射到所选本地文件夹并保存该映射。
通过使用默认工作区快速获取文件
打开 Visual Studio,然后连接到团队项目。
有关更多信息,请参见在 Team Foundation Server 中连接和访问团队项目。
在**“团队资源管理器”中,单击“源代码管理”**。
提示
如果您之前并未创建工作区,则当您打开“源代码管理资源管理器”时,会为您创建一个工作区。 该工作区的名称与计算机的名称相同,并显示在“源代码管理资源浏览器”的工具栏上的“工作区”列表中。
右击要从其中下载文件的本地副本的团队项目、文件夹或分支,然后单击**“映射到本地文件夹”**。
重要事项 确保在代码树中选择级别足够高的文件夹以获取创建本地生成所需的所有文件,但级别也要足够低,不至于获得不需要的文件。
**“映射”**对话框将打开。
在**“本地文件夹”**下,单击省略号 (…) 浏览到服务器文件的本地副本要使用的位置。
在**“浏览文件夹”**对话框中,为本地副本指定一个位置。
例如,您可键入 C:\。
单击**“新建文件夹”**,然后键入本地副本下载到的新文件夹的名称。
例如,您可键入“Workspaces”。
在**“浏览文件夹”对话框中,单击确定”**。
在**“映射”对话框中,选中“递归”复选框以下载服务器文件夹下的文件夹中的所有文件,然后单击“映射”**。
在出现的消息框中,单击**“是”**以获取最新版本的已映射文件。
手动创建工作区
如果您打算经常使用受版本控制的文件,则应手动创建工作区。 手动创建的工作区可如团队项目的顶级文件夹与本地计算机上的文件夹之间的单一映射一样简单。 相比之下,工作区也可是一个文件夹中所有子文件夹、另一个文件夹中大部分子文件夹以及第三个文件夹中所选子文件夹的复杂映射。
若要映射一个文件夹下的所有子文件夹,请将该文件夹添加到**“源代码管理文件夹”列中。 在“本地文件夹”**列中,为文件的本地副本指定唯一本地文件夹。
若要映射一个文件夹下的部分而不是所有的子文件夹,请在某行中添加该文件夹,然后在后面的行中添加不需要的所有子文件夹。 在**“本地文件夹”列中,为文件的本地副本指定唯一本地文件夹。 在“状态”列中,单击每个子文件夹的“已掩蔽”**。
手动创建工作区
确定要使用的文件夹。
打开 Visual Studio,然后连接到团队项目。
有关更多信息,请参见在 Team Foundation Server 中连接和访问团队项目。
在**“团队资源管理器”中,单击“源代码管理”**。
提示
如果您之前并未创建工作区,则会为您创建一个工作区,且会为此工作区指定一个与计算机名称相同的名称。 此工作区将显示在“源代码管理资源管理器”的工具栏上的“工作区”列表中。
查看**“源代码管理资源管理器”**中的文件夹列表,并记下要使用的文件夹和子文件夹。
创建工作区。
在**“文件”菜单上,单击“源代码管理”,然后单击“工作区”**。
在**“管理工作区”对话框中,单击“添加”**。
提示
如果您要重用默认工作区,还可单击默认工作区,再单击“编辑”。
在**“添加工作区”**对话框中,键入工作区的名称。
对要映射的每个文件夹执行以下步骤:
在**“工作文件夹”下,单击“源代码管理文件夹”**列中的第一个空行,然后单击省略号 (...)。
在**“浏览文件夹”对话框中,单击服务器上包含要使用的文件的文件夹,然后单击“确定”**。
(可选)若要映射一个文件夹中的部分而不是所有的子文件夹,请在一行中添加该文件夹,然后在后面的行中添加不需要的子文件夹。 在**“状态”列中,单击每个子文件夹的“已掩蔽”**。
在**“工作文件夹”下,单击“本地文件夹”**列中的第一个空行,然后单击省略号 (...)。
在**“浏览文件夹”**对话框中,单击要将文件复制到的本地文件夹。
重要事项 如果将本地文件夹的结构保持为尽可能类似于服务器文件夹的结构,则开发工作会更加容易。 如果您频繁使用命令提示,则此策略会特别重要。 有关示例,请参见工作区术语中的相关图。
(可选)单击**“新建文件夹”**,然后键入本地副本将存储到的新文件夹的名称。
提示
如果对本地文件夹使用短名称,则有助于使工作区映射更易于使用。
单击**“确定”**。
使用多个工作区处理多个分支
一般情况下,会创建多个工作区在软件的两个版本上同时使用。 例如,可以在开发版本 3.0 的同时更新版本 2.0。 通过创建单独的工作区,可以隔离文件并帮助确保您始终使用正确的版本。
提示
如果您在单个代码基或分支的两个区域中工作,则还可使用多个工作区。
若要创建多个工作区,请执行本主题前面Create a workspace manually中的步骤创建每一个工作区。
如图所示,本地用户已为 FeatureTeamA 分支创建了一个工作区,其中新版本处于开发当中,Version2 分支的另一个工作区需要更新。
当您为每个分支创建单独的工作区时,可在**“源代码管理资源管理器”中显示每个分支中的文件。 若要显示在各个工作区中映射的文件,请打开“工作区”**列表,然后单击工作区的名称。 文件夹和文件的列表发生更改,以使指定工作区中的项可用,但其他工作区中项不可用。
例如,下图显示了 TeamA 工作区中的文件夹和文件。 **“文件夹”**窗格显示已启用 TeamA 工作区中已映射的服务器文件夹,以及已禁用该工作区中未映射的 Version2 服务器文件夹。
TeamA 为当前工作区。
仅在 TeamA 工作区中映射的文件夹或分支可用。
如果您使用单独的工作区,则还可在**“挂起的更改”窗口中轻松显示您在每个分支中单独进行的更改。 若要打开该窗口,请打开“解决方案资源管理器”,右击项目,然后单击“查看挂起的更改”。 在“挂起的更改”窗口中,打开“工作区”**列表,然后单击每个工作区以显示该工作区的挂起的更改。
常见问题疑难解答
当您使用默认工作区而不是手动创建工作区时,会出现两个常见问题。 第一个问题是在尚未映射要修改的文件的情况下,某些功能可能处于禁用状态。 第二个问题是默认映射可能会变混乱。
通过删除当前映射然后按照本主题中的说明创建一个或多个适当的映射,通常可以非常容易地解决这类问题。
为什么某些功能不可用?
如果您要查看的是尚未映射到本地文件夹的服务器文件夹中的文件,则有些功能不可用。 如果您尚未映射文件夹,则无法签出文件、删除文件或创建子文件夹。 若要访问这些功能,您必须按照本主题中的说明映射服务器文件夹。
工作区中为什么会包含混合映射?
当您在未手动创建工作区的情况下将文件添加到版本控制时,将实际创建一个默认工作区,该工作区将原始文件夹映射到您指定的服务器文件夹。 同样,当您在未手动创建工作区的情况下获取文件时,将在默认工作区中创建服务器文件夹与您指定的本地文件夹之间的映射。
如下图所示,用户将 Solution1 添加到版本控制,并指定此解决方案将存储到的服务器文件夹。 通过添加解决方案,用户在从其中添加了解决方案的本地文件夹与服务器文件夹之间创建了一个映射。 该映射与在用户计算机之后命名的用户的默认工作区相关联。
之后,用户获取其他项目中的文件,该项目已由其他团队成员添加到了版本控制。 当第一个用户指定文件将复制到的本地文件夹时,在服务器文件夹和指定的本地文件夹之间创建了一个映射。 该映射也与用户的默认工作区相关联。
因此,工作区包含混乱的混合映射。 解决此问题最好的方式是:删除映射,然后按照本主题前面的说明创建一致的映射集。
映射混合本地文件夹
用户从其中添加文件的本地文件夹。
用户通过执行获取操作将文件复制到的本地文件夹。
请参见
任务
其他资源
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2010 年 8 月 |
添加了有关复杂工作区和疑难解答的信息。 |
信息补充。 |