Team Foundation 版本控制命令参考

您可以使用版本控制命令执行符合您在 Visual Studio 中执行的所有任务,并在 Visual Studio 无法完成的任务。 可以使用 tf.exe 工具运行的是版本管理命令从命令提示处或脚本中。

您希望做什么?

  • 运行命令

    • 将 dev 计算机

    • 开发您的应用程序

    • 挂起您的工作

    • 提供您的工作

    • 管理文件和解决问题

    • 隔离风险

  • 了解命令语法

  • 指定命令的影响的项目

    • 使用 itemspec 参数指定受影响的项目

    • 使用 versionspec 参数指定项目的受影响的版本

  • 如何使用选项修改命令函数

    • 使用 /noprompt 选项会取消需要数据输入和输出数据重定向到命令提示符窗口

    • 在运行命令时,请使用 /login 选项指定凭据

    • 使用 /lock 选项应用或移除锁定

    • 使用选项的快捷

  • understand 退出代码

运行命令

若要启动 Visual Studio 命令提示,从窗口 启动,选择 Microsoft Visual Studio 2012Visual Studio 工具,然后选择一 命令提示符 快捷方式。

在大多数情况下,您运行的是版本管理命令在工作区域映射的目录中。 例如,$/SiteApp/Main/ 映射到 c:\code\SiteApp\Main\。 获取所有项的最新版本在工作区域:

c:\code\SiteApp\Main\SolutionA>tf get

备注

我们当前未发布某些主题。但是,可以读取这些主题的 Visual Studio 2010 版。

cc31bk2e.collapse_all(zh-cn,VS.110).gif将 dev 计算机和管理工作区域

您的工作区域是团队的基本代码的本地副本。 由于它是您的 dev 计算机的本地副本,您可以开发和独立测试的代码,直到您准备好签入时您的工作。 下面是一些命令管理您的工作区域:

请参见:设置开发计算机并开始使用版本控制管理工作区

cc31bk2e.collapse_all(zh-cn,VS.110).gif开发您的应用程序

使用这些命令开发您的应用程序在与团队的版本控制之下:

请参见:在受版本控制的代码库中开发应用程序

cc31bk2e.collapse_all(zh-cn,VS.110).gif挂起您的工作

出于多种原因,有时需要留出一些或所有的正在进行的工作。 若要挂起和继续执行您的工作以及管理您的搁置集,使用这些命令:

请参见:暂停工作并管理搁置集搁置集。

cc31bk2e.collapse_all(zh-cn,VS.110).gif提供您的工作

这是如何签入的代码添加到团队的基本代码:

  • 签入命令
    注册等待对文件或文件夹的更改到服务器。

请参见:向团队的代码库签入工作成果

cc31bk2e.collapse_all(zh-cn,VS.110).gif管理文件和解决问题

cc31bk2e.collapse_all(zh-cn,VS.110).gif隔离风险

使用分支,使用以下命令隔离风险:

请参见:使用分支规避风险

cc31bk2e.collapse_all(zh-cn,VS.110).gif管理版本控制

使用以下命令管理您的版本控制系统:

请参见:管理 Team Foundation 版本控制 (Visual Studio 2010)。

cc31bk2e.collapse_all(zh-cn,VS.110).gif在版本控制命令获得帮助

使用以下命令以获得有关版本控制命令的更多信息:

了解命令语法

每个命令语法显示在每个顶部的参考主题。

cc31bk2e.collapse_all(zh-cn,VS.110).gif必选参数和可选参数

需要非括起来的参数。 [Brackets] 指示不需要完成订单的可选参数。 但是,某些可选参数具有应用于命令的默认值,即使您未指定选项。

cc31bk2e.collapse_all(zh-cn,VS.110).gif独占参数

当选项由分隔 (管道**|**),可以指定某个选项。

cc31bk2e.collapse_all(zh-cn,VS.110).gif原义和的可替换参数

粗体项是包含原义字符串的选项。 斜体 项目是必须在实际字符替换执行命令的参数。

cc31bk2e.collapse_all(zh-cn,VS.110).gif命令快捷方式和别名

某些命令支持快捷方式。 例如,可以调用 删除命令tf deletetf del

cc31bk2e.collapse_all(zh-cn,VS.110).gif示例

例如,checkout 命令:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]

我们查看从此示例的参数:

  • itemspec:必须将 itemspec 替换指定项目签出的此参数。

  • /lock:(none|checkin|checkout):您无需指定 /lock 选项。 如果不指定它,则默认情况下该系统指定 /lock:none。 否则,可以指定一个锁定选项。

  • 以下参数是可选的,并且,如果您没有提供它们,其效果都不适用于命令:

    • /recursive:如果要递归检查在文件夹中包含多个项目,必须指定该选项原义。

    • /login:用户名密码,:如果要运行命令作为另一个用户,必须指定 /login 选项原义,使用该用户的名称替换 用户名,并且,但是,如果需要,可以提供密码。

指定命令的影响的项目

可以使用 itemspecs 和 versionspecs 指定哪些项受命令的影响。

cc31bk2e.collapse_all(zh-cn,VS.110).gif使用 itemspec 参数指定受影响的项目

使用 itemspec (项规范) 指定命令的影响的项目。 可指定项在客户端或您的 Team Foundation server。 可以使用通配符例如 *?

cc31bk2e.collapse_all(zh-cn,VS.110).gif客户端 itemspec 参数

客户端 itemspec 参数指定路径。项目在一个客户端 (例如文件夹 (例如,c:\code\SiteApp\Main\SolutionA\) 文件 (例如,c:\code\SiteApp\Main\SolutionA\Project1\program.cs 或多个文件 (例如,c:\code\SiteApp\Main\SolutionA\*.cs。 还可以指定 UNC 路径例如 \\myshare\code\SiteApp\Main

cc31bk2e.collapse_all(zh-cn,VS.110).gif服务器 itemspec 参数

服务器 itemspec 参数指定路径。项目中的 Team Foundation server (例如文件夹 (例如,$/SiteApp/Main/SolutionA) 文件 (例如,$/SiteApp/Main/SolutionA/Project1/program.cs 或多个文件 (例如,$/SiteApp/Main/SolutionA/*.cs

当您需要运行项目中的命令不会在客户端时,通常会使用服务器 itemspec 参数。 例如,可以在 dev 设备工作并需要获取有关团队项目集合不使用的一些项目的某些修订历史记录数据:

c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

cc31bk2e.collapse_all(zh-cn,VS.110).gif多个 itemspec 参数

对于某些命令,可以指定多个 itemspec 参数。 例如:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

检查 program.cs 和 program2.c。

cc31bk2e.collapse_all(zh-cn,VS.110).gif使用 versionspec 参数指定项目的受影响的版本

使用 versionspec (版本规范) 指定命令的影响项目的版本。 若要提供 versionspec 可以:

  • 使用 /version 选项。 例如:/version:C44

  • 追加 versionspec 到用分号的一 itemspec。 例如:program1.cs;C44

当您使用 History 命令Difference Command时,可以通过用代字号的版本指定版本的范围 (|)。 例如:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

使用以下语法指定 versionspec。

类型

语法

描述

变更集

[C]n

指定根据变更集编号的项目。 如果范围中项目中指定的变更集尚未修改,则系统将在指定的变更集之前发生项的最新版本。

提示提示
如果只指定数字,则可以忽略 C。

示例

c:\code\SiteApp\Main>tf get readme.txt /v:C8

--或者--

c:\code\SiteApp\Main>tf get readme.txt /v:8

--或者--

c:\code\SiteApp\Main>tf get readme.txt;8

如果 readme.txt 在变更集 8 被修改时,获取文件的该版本。 否则,在第 8. 版之前获取 readme.txt 的最新版本。

Label

Llabel

指定 label 是应用程序的项目。

示例

c:\code\SiteApp\Main>tf get readme.txt;LJulyHotFix

获取已标记 JulyHotFixreadme.txt 的版本。

c:\code\SiteApp\Main>tf get /version:LLastKnownGood

在工作区域中检索所有标记为的项 (和删除的版本未标记的项),它们为 自动生成过程一部分,那么,当为 LastKnownGood 标记的变更集所创建的,例如,可能。

日期和时间

Dyyyy-mm-ddTxx:xx

- 或 -

Dmm/dd/yyyy

- 或 -

任何支持 .NET Framework 的格式。

- 或 -

在本地计算机上支持的任何一个日期格式。

在指定日期和时间指定创建的变更集。

示例

c:\code\SiteApp\Main>tf get /version:D2004-03-22

更新工作方面的达标基本代码,当在 3/22/2004 存在了 00:00 (午夜)。

c:\code\SiteApp\Main>tf get /version:D2004-03-22T09:00

更新工作方面的达标基本代码,当在 3/22/2004 存在了 09:00 (9 AM)。

有关 .NET 的更多信息 framework 支持的日期和时间格式显示 DateTime标准日期和时间格式字符串

工作区域的活动)

W

在您的工作区域指定版本。

工作区域 (指定)

Wworkspacename; workspaceowner

在指定的工作区域指定版本。

例如:WResolveRIConflicts;PeterW

提示

T

指定最新版本。

如何使用选项修改命令函数

如何使用这些常用的选项修改命令函数。

cc31bk2e.collapse_all(zh-cn,VS.110).gif使用 /noprompt 选项会取消需要数据输入和输出数据重定向到命令提示符窗口

使用 /noprompt 选项会取消需要数据输入和输出数据重定向到命令提示符窗口。 此选项非常有用,在脚本时需要使用版本控制命令,因为该命令执行,不干扰由用户,并且,这些数据可以使该脚本中执行操作 (如分析或获取。

当您使用此选项,系统:

  • 禁止显示所有要求输入:

    • 问题在命令提示符窗口不会询问。 例如,那么,当您使用此选项时的 Undo 命令 ,系统不提示您确认是否继续执行撤消更改。

    • 不存在的窗口和对话框。 例如,您使用 签入命令使用此选项。 而不是显示您的 签入 对话框可以确认项目要签入或工作项关联) 的选项 (,系统会继续注册,而无需确认。

  • 将输出重定向到数据命令提示。 例如,您使用 History 命令使用此选项。 该数据在命令提示符窗口中将显示而不是 历史记录"窗口

cc31bk2e.collapse_all(zh-cn,VS.110).gif在运行命令时,请使用 /login 选项指定凭据

使用 /login 选项指定 Team Foundation server 用户帐户运行命令。 工作,则在另一个团队成员时,计算机此选项会很有用。

例如,茱莉亚使用针对在他的 dev 计算机。 她使用 锁定命令 打开该文件的她前面已锁定:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI,JuliaPassword

如果她为避免她的密码出现在命令提示符处,则可输入命令,无需密码:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI

在她输入此命令后,该系统将提示她键入其在掩码她的输入的对话框的密码。

cc31bk2e.collapse_all(zh-cn,VS.110).gif使用 /lock 选项应用或移除锁定

重要

作为一个最优方法,请使用注意的 /lock 选项并通知您的团队成员为何锁定某项,并且,当您计划移除锁时。

使用 /lock 选项适用或移除锁定您同时运行另一个命令例如 添加编辑

/lock:(none|checkin|checkout)
  • None:不在项上放置锁。 如果已经有一个锁,则会将它移除。

  • CheckinCheckout:应用锁定。 请参见 了解锁定类型

备注

在少数情况下,锁定操作会失败:

  • 如果任何其他用户锁定的任何指定项,则锁定操作将失败。

  • 如果已存在对项目,挂起的更改系统会忽略此开关。在这种情况下,您必须使用 Lock Command 即项目中的将锁。

cc31bk2e.collapse_all(zh-cn,VS.110).gif使用选项的快捷

可以将缩写下列选项。

选项

选项别名

/comment

-C

/computer

-M

/delete

-D

/force

-P

/format

-F

/help

-?, -H

/lock

-K

/login

-Y

/newname

-N

/noprompt

-I

/owner

-O

/recursive

-R

/server

-S

/slotmode

-X

/template

-T

/user

-U

/version

-V

/workspace

-W

understand 退出代码

版本控制命令返回下列退出代码:

退出代码

定义

0

成功。

1

部分成功;这意味着至少一部分不成功或可能全部都不成功。

2

无法识别的命令。

100

全部都不成功。

例如:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

如果尝试检查的文件之一在服务器上不存在,该命令返回 1 一部分成功。