使用 Team Foundation 版本控制命令

 

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

您希望做什么?

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

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

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

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

将 dev 计算机和管理工作区域

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

Proxy Command (Visual Studio 2010)
WorkFold Command (Visual Studio 2010)
Workspace Command (Visual Studio 2010)
Workspaces Command (Visual Studio 2010)

请参见:在开发计算机上设置 Team Foundation 版本控制创建和使用工作区

开发您的应用程序

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

Add 命令

向版本控制中添加文件和文件夹。

Checkout(或 Edit)命令

选定其挂起的更改状态“编辑”的文件和更改。

Delete 命令(Team Foundation 版本控制) (Visual Studio 2010)
Get 命令

从 Team Foundation Server 具有 (下载) 一个或多个文件或文件夹的最新版本或一个指定的版本工作区域。

Rename 命令(Team Foundation 版本控制) (Visual Studio 2010)
Status 命令

有关挂起的更改对文件和文件夹项显示的信息在一个或多个工作区域,或在搁置集。

Undo 命令

放弃对文件或文件夹的一个或多个挂起的更改。

Undelete Command (Visual Studio 2010)

请参见:在 Team Foundation 版本控制中开发应用程序

挂起您的工作

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

Shelve 命令 (Visual Studio 2010)
Shelvesets Command (Visual Studio 2010)
Unshelve 命令 (Visual Studio 2010)

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

提供您的工作

这是如何在代码中切换到团队的基本代码:

Checkin 命令

在挂起的更改的切换到文件或文件夹到服务器。

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

管理文件和解决问题

查看和管理版本控制文件和文件夹
Properties 命令 (Visual Studio 2010)
属性命令(未记录)
Dir Command (Visual Studio 2010)
Destroy Command (Visual Studio 2010)
LocalVersions Command (Visual Studio 2010)

请参见:使用源代码管理资源管理器管理受版本控制的文件

查看和管理过去版本
Changeset Command (Visual Studio 2010)
History 命令

显示一个或多个文件或文件夹的修订历史记录。

Label Command (Visual Studio 2010)
Labels Command (Visual Studio 2010)
Rollback Command (Visual Studio 2010)
Unlabel Command (Visual Studio 2010)
View Command (Visual Studio 2010)

请参见:查看和管理过去的版本

比较文件夹和文件
Difference Command (Visual Studio 2010)
Folderdiff Command (Visual Studio 2010)

请参见:查看和管理过去的版本

解决文件冲突

Resolve Command (Visual Studio 2010)

请参阅:解决 Team Foundation 版本控制冲突

与版本控制锁定一起使用

Lock Command (Visual Studio 2010)

请参阅:使用版本控制锁

隔离风险

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

Branch Command (Visual Studio 2010)
Branches Command (Visual Studio 2010)
Merge Command (Visual Studio 2010)
Merges Command (Visual Studio 2010)

请参阅:使用分支隔离 Team Foundation 版本控制中的风险

管理版本控制

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

Configure Command (Visual Studio 2010)
Permission Command (Visual Studio 2010)

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

在版本控制命令获得帮助

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

Help Command (Visual Studio 2010)
Msdn Command (Visual Studio 2010)

每个命令语法显示在每个引用主题顶部。

必选参数和可选参数

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

独占参数

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

原义和的可替换参数

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

命令快捷方式和别名

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

示例

例如,checkout 命令:

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

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

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

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

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

    • /recursive:如果递归有希望文件夹中选定多个项目,必须指定该选项原义。

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

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

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

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

客户端 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

服务器 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

多个 itemspec 参数

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

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

选定 program.cs 和 program2.c。

使用 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

L label

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

示例

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

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

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

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

日期和时间

D yyyy-mm-ddTxx:xx

- 或 -

D mm/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

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

工作区域 (指定)

W workspacename; workspaceowner

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

例如:WResolveRIConflicts;PeterW

提示

T

指定最新版本。

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

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

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

当您使用此选项,系统:

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

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

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

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

在运行命令时,请使用 /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

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

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

重要事项

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

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

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

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

说明

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

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

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

使用选项的快捷

可以将缩写下列选项。

 

选项

选项别名

/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

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

 

退出代码

定义

0

成功。

1

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

2

无法识别的命令。

100

全部都不成功。

例如:

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

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

使用 Team Foundation 版本控制命令的更多相关文章

  1. Team Foundation 版本控制

    与 Visual Studio 的一流集成. 使用富文件和文件夹差异工具突出显示代码更改. 借助强大的可视化跨分支跟踪代码更改. 集成的代码评审工具有助于在签入代码之前获得反馈. 使用托管版本或本地版 ...

  2. Team Foundation Server简介

    对于任何一个软件开发团队而言,成功的一个重要因素在于成员之间.成员与首先使用软件的用户之间有很好的沟通. Team Foundation Server是一个独立的服务器产品,逻辑上,由下列两层组成,这 ...

  3. Team Foundation 中的错误和事件消息

    Visual Studio Team System Team Foundation 中的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错 ...

  4. [工具.tfs]可视化的TFS命令工具——Team Foundation Sidekicks

    工具介绍:http://www.attrice.info/cm/tfs/index.htm Team Foundation Sidekicks is a suite of tools for Micr ...

  5. Team Foundation Server 2015 Update 2.1 发布日志

    微软在 2016年5月5日发布了Visual Studio Team Foundation Server 2015 update 2.1. 下面我们来看看Update2.1中给我们带来了哪些新功能. ...

  6. 在Sublime中集成Team Foundation Server (TFS),实现版本管理

    Sublime是一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,由于它开发的技术架构.丰富的插件,和轻盈而快速的编程响应,Sublime广受程序员的爱好.在C, C++, Javascri ...

  7. TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)

    工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...

  8. Team Foundation API - 编程控制文件版本

    Team Foundation Server (TFS)工具的亮点之一是文件的版本控制.在TFS中实现文件版本控制的类型: Microsoft.TeamFoundation.Client.TfsTea ...

  9. TFS(Team Foundation Server)简介和新手入门

    在两部分的文章.我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用. 作为一个软件开发.在我的职业生涯,.我常常用于支持软件开发过程中大量的 ...

随机推荐

  1. poj 1004 Financial Management

    求平均数,记得之前在杭电oj上做过一个求平均数的题目,结果因为题目是英文的,我就懵逼了 #include <stdio.h> int main() { ; double num; int ...

  2. Linux下静态库生成和使用

    Linux下静态库生成和使用 一.静态库概念 1.库是预编译的目标文件(object  files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. ...

  3. xml velocity模板

    . <?xml version="1.0" encoding="GBK"?> <PACKET type="REQUEST" ...

  4. 深入理解inode与软硬链接

    一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统 ...

  5. IIS7下.NET4.0 网站UrlRewriter.dll重写无后缀路径 失效

    解决方法: 1.添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 2.找到和网站相对的连接池,选择 ...

  6. UI:这段时间的小总结

    关于 UITAbleView 的重用机制 参考1  参考2   参考3 关于 UITableViewController  的知识来自博客 参考1  参考2  参考3 总结 一个工程的基本框架的规范写 ...

  7. MFC 构建、消亡 顺序 (二)--多文档 (MDI)

    MFC 构建.消亡 顺序 (二)--多文档 (MDI) by:http://www.cnblogs.com/vranger/ (一)MDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“N ...

  8. 详解文件操作(ifstream、ofstream、fstream)[转]

    C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstre ...

  9. Hadoop on Mac with IntelliJ IDEA - 9 解决Type mismatch in value from map问题

    修改陆喜恒. Hadoop实战(第2版)5.3排序的代码时遇到IO异常. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.5, Hadoop 1.2.1 异常具体信息如下 ...

  10. VC++ 网络编程总结(二)

    2.基本的Windows Socket API编程 需要在程序中添加下面的包含语句:#include <winsock2.h>   #pragma comment( lib, " ...