优化工作区

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

Visual Studio 2019 |Visual Studio 2022

如果团队具有大型且复杂的代码库,则可以优化工作区以仅包含所需的文件。 优化工作区可提高性能、减少网络流量,并减少开发计算机上所需的磁盘空间。

注释

分支暂停或搁置 是针对相同代码库隔离不同工作工作的首选方法。 但是,如果这两种方法都不符合你的需求,则可以在多个工作区中映射相同的服务器文件夹。 在大多数情况下,你无需这样做。

如果确实在多个工作区中映射同一服务器文件夹,请记住,可以对存储在每个工作区中的同一文件进行单独的和不同的挂起更改。

优化文件夹名称

如果尚未使用分支,请将所有代码放在服务器上名为 Main 的子文件夹中,例如: $/TFVCTeamProject/Main/。 然后,当你的团队增长足够大,以要求分支管理其代码库时,你将做好准备。 在开发计算机上,应使用与项目结构匹配的简短、可理解的文件夹路径,例如 C:\Users\<YourName>\Source\Workspaces\TFVCTeamProject\Main\SolutionName

有关有效文件夹名称的更多提示:

  • 将所有文件夹、子文件夹和文件名保留为简短,以简化工作,并避免某些类型的代码项目可能出现的潜在长路径问题。

  • 避免文件和文件夹名称中的空格,使命令行作更易于执行。

优化工作区

如果团队的代码库很大,可以通过优化工作区文件夹映射来避免浪费时间、网络带宽和本地磁盘空间。 可以使用显式、隐式、遮盖和非递归文件夹映射,以便更简单、更快速地创建可用工作区。

将文件夹映射到工作区时,请确保在代码目录中选择一个层级足够高的文件夹,以便获取构建本地环境所需的所有文件,同时确保层级足够低,以避免获取过多的文件。 在以下示例工作区中,只需将 $/SiteApp/ 映射到 c:\code\SiteApp\。 这样一个简单的工作区会将 $/SiteApp/Main/ 中的所有文件夹隐式映射到工作区,包括所需的文件。

此方法的主要问题是,它提供了许多不需要的文件,从而浪费时间和资源。 例如,如果不开发自定义生成进程,则不需要 $/SiteApp/BuildProcessTemplates/

随着时间推移,你的团队代码库将增长,你不希望自动下载添加到 $/SiteApp/Main/的每一个新代码位。 当在其他文件夹中工作的团队更改这些文件时,当你从服务器获取最新文件时,可能会产生长时间的延迟,等待对不需要的文件进行更新。

可以优化工作区,以创建更定制的文件夹映射。

  1. 在 Visual Studio 源代码管理资源管理器中,选择 工作区旁边的下拉箭头,然后选择 “工作区”。

  2. 在“ 管理工作区 ”对话框中,选择要优化的工作区,然后选择“ 编辑”。

  3. “编辑工作区 ”对话框中,编辑工作区映射。

    显示“编辑工作区”对话框中编辑工作区的屏幕截图。

  4. 例如,若要开发代码,需要 来自 DinnerNow 项目的代码项目。 与其在解决方案中显式包括每个代码项目,例如 $/Fabrikam TFVC/DinnerNow/feature3,不如映射 $/Fabrikam TFVC/DinnerNow,从而 隐式 映射包含所需代码项目的所有子文件夹。

  5. 不需要 $/Fabrikam TFVC/DinnerNow/feature1$/Fabrikam TFVC/DinnerNow/feature2 中的文件,但由于这些文件是隐式映射的,因此可以使用两个 封闭 映射从工作区中排除这些文件夹。

  6. 你的团队维护并有时扩充一组基础库。 你几乎需要该文件夹中所有当前的库,并预计将来需要你的团队在那里添加的库,因此你可以映射 $/Fabrikam TFVC/Main/

  7. 您只需要大型文件夹 $/Fabrikam TFVC/Main/ClassLibrary 的一个小部分,因此将其映射为隐藏状态,然后显式映射所需的子文件夹 $/Fabrikam TFVC/Main/ClassLibrary1

  8. 需要在 ClassLibrary1 中立即获取一些文件,但不需要其子文件夹的内容,因此需将 非递归 映射应用到 $/Fabrikam TFVC/Main/ClassLibrary1/ 文件夹。

还可以通过在 源代码管理资源管理器 中右键单击未映射的分支或文件夹,并选择 高级>映射到本地文件夹,将文件夹映射到工作区。 或者,选择“未映射”链接,该链接位于“本地”文件夹旁边,源代码管理资源管理器的顶部。 在“映射”对话框中,选择要映射到的本地文件夹,如果希望映射递归到子文件夹,请选中递归复选框。

以下屏幕截图显示了在 源代码管理资源管理器 中的服务器树和计算机上的本地文件上应用这些工作区优化的结果。

显示文件夹映射效果的屏幕截图。

使用工作区来隔离分支

如果您的组织使用分支来在代码库中隔离风险,您可以为每个工作的分支创建一个单独的工作区。 可以在小型团队中继续工作,但使用几个工作区来管理在多个分支中执行的工作。

例如:

显示多个分支的图表。

  • 开发功能:修改默认工作区,在 Extranet 分支中进行工作,参与面向客户的网站开发工作。

  • 集成并稳定:创建两个新工作区以在分支中TestDev执行工作,可在其中与其他开发人员和测试人员协作,在集成期间稳定代码。

可在三个工作区中管理工作,其中每个工作区将服务器上的分支中的文件夹映射到开发计算机上的文件夹。

显示将分支映射到文件夹的关系图。

后续步骤

选择有效的分支策略