Get 命令(Team Foundation 版本控制)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Team Foundation 版本控制 (TFVC) get 命令从 Azure DevOps Server 获取一个或多个文件/文件夹的最新版本或指定版本,或者将其下载到工作区。 tf get 命令提供的用户界面与 Visual Studio 中的不同,但过程基本上相同。 有关使用 Visual Studio 获取文件和文件夹的详细信息,请参阅从服务器下载(获取)文件

先决条件

请参阅默认 TFVC 权限

语法

tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force] [/remap]
[/recursive] [/preview] [/noautoresolve] [/noprompt]
[/login:username,[password]]

参数设置

参数

说明

/all

可以使用此选项还原意外从服务器工作区中删除的项。 如果使用建议的本地工作区,则不太可能必须使用此选项。

TFVC 维护工作区包含的所有项的内部记录,包括每个项的版本。 默认情况下,当你获取文件时,如果服务器上的内部记录指示工作区已有你获取的版本,则不会检索该项。 此选项获取所有项,而不考虑内部记录包含的数据。

/force

/all/overwrite 结合。

<itemspec>

指定要获取的项的范围。 可以指定多个 itemspec 参数。 如果未提供 itemspec,则系统以递归方式获取当前工作区中的所有项。

有关语法,请参阅使用 Team Foundation 版本控制命令

/login <username>,[<password>]

指定用于运行该命令的用户帐户。 请参阅使用 Team Foundation 版本控制命令

/noautoresolve

默认情况下,系统自动尝试对冲突采用“全部自动解析”。 有关详细信息,请参阅解决 Team Foundation 版本控制冲突。 指定此选项可禁用此默认行为。

/noprompt

禁止显示 Visual Studio 窗口和对话框,并将输出数据重定向到命令提示。 请参阅使用 Team Foundation 版本控制命令

/overwrite

默认情况下,如果某个项是可写项(清除了该项的只读属性),则系统不会在客户端计算机上检索该项。 除非可写项已签出,否则此选项将替代默认行为并替代该项。如果使用建议的本地工作区,则不太可能必须使用此选项。

/preview

显示将发生的情况,而不实际执行操作 get

/recursive

以递归方式在指定目录以及任何子目录中获取项。 如果未指定 itemspec,则表示使用此选项。

/remap

/version:<versionspec>

指定要在历史记录数据中显示的最高版本或最低版本和最高版本。 默认值为 /version:T,即最新版本。

有关语法,请参阅使用 Team Foundation 版本控制命令

注解

  • 开始新任务时,最好在签出文件并开始工作之前运行 tf get 从服务器下载最新文件。 可以从工作区中的任何文件夹运行 tf get

  • 根据需要,tf get 在磁盘上创建文件夹以包含该命令下载的子项。

  • 可以使用 History 命令Changeset 命令查看有关项的历史记录的信息。

  • 如果想了解工作区中的文件可能发生哪些更改,可以使用 /preview 选项查看将发生的更改,而无需实际实现这些更改。

  • 冲突可能会阻止 get。 冲突的常见原因是尝试获取有挂起的更改的项。 可以使用 Resolve 命令解决这些冲突。

示例

以下示例假定 $/SiteApp/Main/ 映射到工作区中的 c:\code\SiteApp\Main\

获取工作区中所有项的最新版本

默认情况下,tf get 命令获取工作区中所有项的最新版本。 例如,以下命令以递归方式获取 $/SiteApp/Main/ 中的所有文件,包括其所有子文件夹。

c:\code\SiteApp\Main>tf get

以递归方式获取文件夹中特定类型项的最新版本

以下示例获取 c:\code\SiteApp\Main\SolutionA\Project1 中所有 C# 文件的最新版本。

c:\code\SiteApp\Main\SolutionA\Project1>tf get *.cs /recursive

获取文件的最新版本

以下示例获取 Project1 中 program.cs 的最新版本。

c:\code\SiteApp\Main\SolutionA\Project1>tf get program.cs

获取文件的特定版本

以下示例获取 Project1 中 program.cs 的版本 8。

c:\code\SiteApp\Main\SolutionA\Project1>tf get program.cs;8

获取两个文件的最新版本

以下示例获取 Project1 中 file1.cs 和 file2.cs 的最新版本。

c:\code\SiteApp\Main\SolutionA\Project1>tf get file1.cs file2.cs

同步工作区以匹配团队代码库的版本

以下示例同步工作区,以匹配创建变更集 15 时存在的代码库:

c:\code\SiteApp\Main>tf get /v:15
  • 工作区中每个项的名称和内容都会更改,以匹配其在服务器上的状态。
  • 在该变更集后删除的项将还原到工作区。
  • 在该变更集之后添加的项将从工作区中删除。

同步工作区以匹配团队代码库带标签的版本

以下示例同步工作区以匹配代码库中带标签LastKnownGood的项:

c:\code\SiteApp\Main>tf get /v:LLastKnownGood
  • 工作区中每个带标签项的名称和内容都会更改,以匹配其在服务器上的状态。
  • 已删除的带标签项将还原到工作区。
  • 服务器上未带标签的项将从工作区中删除。