Workspace 命令(Team Foundation 版本控制)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Team Foundation 版本控制 (TFVC) workspace
命令提供了一种用于创建、删除、查看或修改与工作区关联的属性和映射的方法。
先决条件
- 要修改或删除现有工作区,你必须是所有者或将全局“管理工作区”权限设置为“允许”。
- 要创建工作区,你必须将全局“创建工作区”权限设置为“允许”。
- 要为其他用户创建工作区,你必须将“管理工作区”权限设置为“允许”。
有关详细信息,请参阅默认 TFVC 权限。
语法
tf workspace /new [/noprompt] [/template:<workspace-name>[;<workspace-owner>]]
[/computer:<computer-name>] [/comment:("<comment>"|@<comment-file>)]
[<workspace-name>[;<workspace-owner>]] [/login:<username>,[<password>]]
[/collection:<team-project-collection-url>] [/permission:(Private|PublicLimited|Public)]
[/location:(local|server)]
tf workspace /delete [/collection:<team-project-collection-url>] <workspace-name>[;<workspace-owner>] [/login:<username>,[<password>]]
tf workspace [/collection:<team-project-collection-url>] [/comment: ("<comment>"|@<comment-file>)] [/newname:<workspace-name>]
[<workspace-name>[;<workspace-owner>]] [/newowner:<owner-name>] [/computer:<computer-name>] [/permission:(Private|PublicLimited|Public)] [/login:<username>,[<password>]]
[/location:(local|server)]
参数
以下各部分介绍 workspace
命令的参数和选项。
参数
Argument | 说明 |
---|---|
<workspace-name> |
指定要创建、编辑、删除或显示其相关信息的工作区的名称。 |
<workspace-owner> |
指定工作区的用户名。 如果工作区所有者不是命令执行者,则此参数是必需的。 |
<computer-name> |
为 /computer 选项提供值。 |
<comment> |
为 /comment 选项提供值。 |
@<comment-file> |
指定应读取注释的文件路径。 |
<username> |
为 /login 选项提供值。 可以将此值指定为 DOMAIN\<username> 或 <username> 。 |
<password> |
为 /login 选项提供值。 |
<team-project-collection-url> |
包含要创建、编辑、删除或显示其相关信息的工作区的项目集合的 URL,例如 https://myserver:8080/tfs/DefaultCollection 。 |
<owner-name> |
为 /newowner 选项提供值。 |
选项
选项 | 说明 |
---|---|
/new |
创建新工作区。 |
/template |
指定现有工作区,以用作创建新工作区的模板。 新工作区使用现有工作区的映射。 |
/delete |
删除指定的工作区。 |
/computer |
指定要在其上创建工作区的计算机的名称。 此选项是一个高级选项。 |
/comment |
提供描述工作区的注释。 |
/newname |
重命名现有工作区。 |
/noprompt |
在不显示对话框的情况下,执行指定的 workspace 命令。 |
/collection |
指定项目集合。 |
/permission |
指定工作区权限的选项:
Private :只有所有者可以使用文件、将文件签入工作区或管理工作区。- Public Limited :任何有效用户都可以使用工作区。 但只有所有者才能将文件签入工作区或管理工作区。- Public :任何有效用户都可以使用文件、将文件签入工作区或管理工作区。 |
/location |
指定创建工作区的位置:
local :在客户端计算机上。 此值为默认值。- server :在 Azure DevOps 服务器上。 |
/login |
指定用户名和密码,以便使用 Azure DevOps 对用户进行身份验证。 |
/newowner |
指定新工作区所有者的用户名。 |
注解
工作区是服务器上文件和文件夹的本地副本,以及你在本地所做的任何更改。 当你添加、编辑、删除、移动、重命名或以其他方式更改任何版本控制的项时,会将所做的更改隔离在工作区中,你可以在其中进行更改并测试所做的更改。 当你将工作签入团队的代码库时,就将更改提交给了服务器。 它们可供工作区外部的其他用户使用。
有关如何使用 tf
命令行实用工具的详细信息,请参阅使用 Team Foundation 版本控制命令。
创建工作区
在将文件添加到版本控制服务器或签出服务器上的项之前,你必须创建工作区或将现有工作区与当前目录关联。 有关详细信息,请参阅在开发计算机上设置 Team Foundation 版本控制。
要使当前目录成为计算机上现有工作区的工作文件夹,请执行以下步骤:
- 输入
tf workspace <workspace-name>
,其中<workspace-name>
是现有工作区的名称。 随即显示“编辑工作区”对话框。 - 选择“单击此处输入新的工作文件夹”。
- 在“源代码管理文件夹”框中,输入要将当前目录映射到的服务器路径。
- 在“本地文件夹”框中,输入当前目录。
- 选择“确定” 。
创建新工作区时,可以将“模板工作区”指定为 /new
选项的一部分。 如果指定模板工作区,TFVC 将在当前计算机上创建一个新工作区。 TFVC 还会将所有者设置为当前所有者,并将以下工作区属性从模板工作区复制到新工作区:mappings
和 comment
。 如果未指定名称,系统将使用基于当前计算机名称的名称。 如果使用模板创建工作区,TFVC 不会从服务器检索其映射到的文件。 使用 get
命令将新工作区与服务器上的最新版本同步。 有关详细信息,请参阅 Get 命令。
单个文件夹映射
你可选择仅将版本控制文件夹的直接子项映射到本地工作区。 为此,请在“添加工作区”对话框的“源代码管理文件夹”框中添加一个星号 (*) 通配符,例如 $/folder/*
。 否则,默认情况下,版本控制文件夹的所有子项都以递归方式映射到本地工作区。
版本控制层次结构中的单个文件夹映射很有用,因为它限制了下载到客户端计算机的项数量。 另一种限制下载文件的方法是隐藏工作区中不需要的文件。 有关详细信息,请参阅优化你的工作区。 此方法可减少下载所用的时间并节省客户端计算机上的磁盘空间。
创建工作区
如果删除包含挂起的更改的工作区,TFVC 将在删除过程中取消挂起的更改。 如果删除某个工作区,将不会删除客户端计算机上该工作区中的文件和文件夹。
注意
手动运行的命令需要 /noprompt
选项来绕过用户确认。 如果你使用 PowerShell Start()
方法运行命令,请小心。 /noprompt
选项可以在 PowerShell 中自动设置。
删除工作区时,需要提供 <workspace-owner>
和 <workspace-name>
可以使用 workspace
命令检索这些值。 有关详细信息,请参阅工作区命令。
运行以下命令以查找 <workspace-owner>
值:
c:\projects>tf workspaces /computer:* /owner:* /collection:`<team-project-collection-url>` /format:xml
若要查找 <workspace-name>
值,请使用上一条命令输出中的 <OwnerId>
值作为 <workspace-owner>
值。 该值的格式为 Azure Active Directory (Azure AD) 对象 ID,后跟反斜杠和用户主体名称。 使用整个值。 然后,运行以下命令:
c:\projects>tf workspaces /owner:<workspace-owner> /computer:* /collection:`<team-project-collection-url>`
运行以下命令来删除工作区:
c:\projects>tf workspace /delete <workspace-name>;<workspace-owner> /collection:<team-project-collection-url>`
编辑工作区
你可以更改以下工作区属性:
- 工作区名称
- 评论
- 工作文件夹映射
如果未提供工作区规范,则使用当前文件夹的工作区。
示例
以下示例打开“添加工作区”对话框并创建一个新工作区。 你可使用“添加工作区”对话框来编辑源代码管理文件夹、所有者、计算机、注释和本地文件夹。
c:\projects>tf workspace /new /collection:https://myserver:8080/tfs/DefaultCollection
以下示例创建名为 Beta1 的新工作区,并将 jenh 指定为工作区所有者。 你必须拥有 AdminWorkspaces 权限才能将新工作区的所有权分配给其他用户。 有关安全性权限的详细信息,请参阅默认 TFVC 权限。
c:\projects>tf workspace /new Beta1;jenh
以下示例使用 jenh 拥有的 Beta1 工作区作为模板来创建新工作区:
c:\projects>tf workspace /new /template:Beta1;jenh /collection:https://myserver:8080/tfs/DefaultCollection
以下示例从服务器中删除 Beta1 工作区:
c:\projects>tf workspace /delete Beta1
以下示例编辑当前工作区的属性:
c:\projects>tf workspace
以下示例打开 jenh 拥有的 Beta1 工作区,以便你可以查看其属性和映射。 如果你拥有 AdminWorkspaces 权限,则可以更改工作区属性和映射。
c:\projects> tf workspaces Beta1;jenh