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 版本控制

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

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

创建新工作区时,可以将“模板工作区”指定为 /new 选项的一部分。 如果指定模板工作区,TFVC 将在当前计算机上创建一个新工作区。 TFVC 还会将所有者设置为当前所有者,并将以下工作区属性从模板工作区复制到新工作区:mappingscomment。 如果未指定名称,系统将使用基于当前计算机名称的名称。 如果使用模板创建工作区,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