工作区命令 (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 命令的参数和选项。

参数

论点 描述
<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 执行指定的工作区命令而不显示对话框。
/collection 指定项目集合。
/permission 指定工作区权限的选项:

    - Private:只有所有者可以使用、签入文件或管理工作区。


    - Public Limited:任何有效的用户都可以使用工作区。 但只有所有者才能签入文件或管理工作区。


    - Public:任何有效的用户都可以使用、签入文件或管理工作区。


/location 指定创建工作区的位置:

    - local:在客户端计算机上。 此值为默认值。


    - server:在 Azure DevOps 服务器上。


/login 指定使用 Azure DevOps 对用户进行身份验证的用户名和密码。
/newowner 指定工作区的新所有者的用户名。

言论

工作区 是服务器上的文件和文件夹的本地副本,以及本地所做的任何更改。 添加、编辑、删除、移动、重命名或更改任何版本控制的项目时,更改会隔离在工作区中,你可以在工作区中进行和测试更改。 将工作签入团队的代码库时,请将更改提交到服务器。 他们可供工作区外部的其他用户使用。

有关如何使用 tf 命令行实用工具的详细信息,请参阅 使用 Team Foundation 版本控制命令

创建工作区

必须先创建工作区或将现有项与当前目录相关联,然后才能将文件添加到版本控制服务器或签出服务器上的项。 有关详细信息,请参阅 在开发计算机上设置 Team Foundation 版本控制

若要使当前目录成为计算机上现有工作区的工作文件夹,请执行以下步骤:

  1. 输入 tf workspace <workspace-name>,其中 <workspace-name> 是现有工作区的名称。 此时将显示“编辑工作区”对话框
  2. 选择 单击此处输入新的工作文件夹
  3. 源代码管理文件夹 框中,输入要将当前目录映射到的服务器路径。
  4. 本地文件夹 框中,输入当前目录。
  5. 选择“确定”

创建新工作区时,可以指定 模板工作区 作为 /new 选项的一部分。 指定模板工作区时,TFVC 会在当前计算机上创建新的工作区。 TFVC 还会将所有者设置为当前所有者,并将以下工作区属性从模板工作区复制到新工作区:mappingscomment。 如果未指定名称,系统将使用基于当前计算机名称的名称。 使用模板创建工作区时,TFVC 不会检索它从服务器映射到的文件。 使用 get 命令将新工作区与服务器上的最新版本同步。 有关详细信息,请参阅 Get 命令

单文件夹映射

可以选择仅将版本控制文件夹的直接子级映射到本地工作区。 为此,请在 “添加工作区”对话框中的“源代码管理文件夹” 框中添加星号 \ 通配符,例如 $/folder/*。 否则,默认情况下,版本控制文件夹的所有子级以递归方式映射到本地工作区。

版本控制层次结构中的单个文件夹映射很有用,因为它限制了下载到客户端计算机的项目数。 限制下载文件的另一种方法是将不需要在工作区中的文件遮盖在一起。 有关详细信息,请参阅 优化工作区。 此方法提供更快的下载时间,并节省客户端计算机上的磁盘空间。

删除工作区

如果删除包含挂起更改的工作区,TFVC 将在删除过程中取消挂起的更改。 删除工作区不会删除该工作区中的客户端计算机上的文件和文件夹。

注意

手动运行的命令需要 /noprompt 选项来绕过用户确认。 如果使用 PowerShell Start() 方法运行命令,请小心。 可以在 PowerShell 中自动设置 /noprompt 选项。

删除工作区时,需要提供 <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

以下示例使用 Beta1 工作区(jenh 拥有)作为模板创建新工作区:

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