Get command (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
The Team Foundation Version Control (TFVC) get
command gets, or downloads, either the latest version or a specified version of one or more files or folders from Azure DevOps Server to the workspace. The tf get
command provides a different user interface than Visual Studio, but the process is fundamentally the same. For more information about using Visual Studio to get files and folders, see Download (get) files from the server.
Prerequisites
Syntax
tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force] [/remap]
[/recursive] [/preview] [/noautoresolve] [/noprompt]
[/login:username,[password]]
Parameters
Parameter
Description
/all
You can use this option to restore an item that you've accidentally deleted from a server workspace. If you use a local workspace, which is recommended, it's unlikely that you'll have to use this option.
TFVC maintains an internal record of all the items the workspace contains, including the version of each. By default, when you get files, if the internal record on the server indicates the workspace already has the version you're getting, it doesn't retrieve the item. This option gets all items regardless of the data the internal record contains.
/force
Combines /all
and /overwrite
.
<itemspec>
Specifies the scope of the items to get. You can specify more than one itemspec
argument. If no itemspec
is provided, the system recursively gets all items in the current workspace.
For syntax, see Use Team Foundation version control commands.
/login <username>,[<password>]
Specifies the user account to run the command. See Use Team Foundation version control commands.
/noautoresolve
By default, the system automatically attempts to AutoResolve All conflicts. For more information, see Resolve Team Foundation Version Control conflicts. Specify this option to disable this default behavior.
/noprompt
Suppresses the display of Visual Studio windows and dialog boxes and redirects output data to the command prompt. See Use Team Foundation version control commands.
/overwrite
By default, the system doesn't retrieve an item if it's writable, that is its read-only attribute is cleared, on the client machine. This option overrides the default behavior and overwrites a writable item, unless the item is checked out. If you use a local workspace as recommended, it's unlikely that you'll have to use this option.
/preview
Displays what would occur, without actually performing the get
operation.
/recursive
Recursively gets items in the specified directory and any subdirectories. If you don't specify an itemspec
, this option is implied.
/remap
/version:<versionspec>
Specifies the maximum version, or the minimum and the maximum versions, to display in the history data. The default is /version:T
, the latest version.
For syntax, see Use Team Foundation version control commands.
Remarks
If you're beginning a new task, it's probably a good idea to run
tf get
to download the latest files from the server before you check out files and begin your work. You can runtf get
from any folder in your workspace.As needed,
tf get
creates folders on disk to contain the child items that the command downloads.You can view information about the history of an item by using the History command and the Changeset command.
If you're concerned about what changes might occur to the files in the workspace, you can use the
/preview
option to see the changes that would occur without actually implementing them.Conflicts could block your
get
. A typical cause of conflicts is trying to get an item on which you have pending changes. You can use the Resolve command to resolve these conflicts.
Examples
The following examples assume that $/SiteApp/Main/
maps to c:\code\SiteApp\Main\
in the workspace.
Get the latest version of all items in a workspace
By default, the tf get
command gets the latest versions of all items in the workspace. For example, the following command recursively gets all files in $/SiteApp/Main/
, including all its child folders.
c:\code\SiteApp\Main>tf get
Recursively get the latest version of items of a certain type in a folder
The following example gets the latest version of all C# files in c:\code\SiteApp\Main\SolutionA\Project1.
c:\code\SiteApp\Main\SolutionA\Project1>tf get *.cs /recursive
Get the latest version of a file
The following example gets the latest version of program.cs in Project1.
c:\code\SiteApp\Main\SolutionA\Project1>tf get program.cs
Get a specific version of a file
The following example gets version 8 of program.cs in Project1.
c:\code\SiteApp\Main\SolutionA\Project1>tf get program.cs;8
Get the latest version of two files
The following example gets the latest versions of file1.cs and file2.cs in Project1.
c:\code\SiteApp\Main\SolutionA\Project1>tf get file1.cs file2.cs
Synchronize a workspace to match a version of the team's codebase
The following example synchronizes the workspace to match the codebase as it existed when changeset 15 was created:
c:\code\SiteApp\Main>tf get /v:15
- The name and content of every item in the workspace is changed to match the state it was in on the server.
- Items that were deleted after that changeset are restored to the workspace.
- Items that were added after that changeset are deleted from the workspace.
Synchronize a workspace to match a labeled version of the team's codebase
The following example synchronizes the workspace to match the items in the codebase that are labeled LastKnownGood
:
c:\code\SiteApp\Main>tf get /v:LLastKnownGood
- The name and content of every labeled item in the workspace is changed to match the state it was in on the server.
- Labeled items that were deleted are restored to the workspace.
- Items that aren't labeled on the server are deleted from the workspace.