VSTF Rollback 操作

最近遇到要把有些项目需要做回滚操作,发现TFS的UI上没有回滚的操作。
经过百度,查到一个CSDN上的博主发了一种方法,经过验证,那种方法是错误的:
他通过先获取指定变更集-》签出-》签回去,以达到回滚的目的。
表面上看是挺合理的,但是如果其中要回滚到的变更集有删除操作,那就会导致一些错误了。
例如:变更集5中的一个文件test.cs,我将其删除,签入(变更集6)。然后再获取变更集5的test.cs,再签入(变更集7)。这时,变更集7中的test.cs便不能匹配到变更集5中的test.cs,因此,如果你查看test.cs的历史记录,只会有变更集7,之前的版本只能通过到上级目录检索到。

而且还会导致一些其他的异常。说了这么多,那正确的方法应该怎么做呢?

应该需要先下载Team foundation Server Power Tools:
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=FBD14EEA-781F-45A1-8C46-9F6BA2F68BF0&displaylang=en

https://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2015Power

使用里面命令行的方式来回滚,微软将一些危险的操作都放在了命令行里面,例如销毁操作,强制签入操作等。这些应该由熟悉TFS的管理员来操作,这样能避免带来一些不必要的损失。

回滚使用的是power tools中的tfpt rollack命令。tfpt需要运行在powershell中。

具体步骤:
1.先在Team Explorer中将要回滚的工作区映射到本地
2.打开开始菜单中power tools里的powershell
3.使用cd命令导航到你映射到的目录,例如cd c:\project1 (假如你将项目映射到c:\project1目录)
4.输入tfpt rollback,它会提示你是否获取最新版本,选YES
5.选择要回滚的变更集(注意:这个是你要撤销操作的变更集)
6.回滚之后,还必须执行签入操作,回滚在被提交到服务器。

注意事项:
执行rollback的时候必须保证所有本工作区中的项目没有挂起更改,不单单是你要回滚的目录下的内容没有挂起哦。否则,你就会收到如下信息:
Cannot proceed because you have pending changes in your workspace. You must move
 to a shelveset, undo, or check in all pending changes before reverting a change
set.

唉。。。不知道微软是为了那根筋出问题了,堂堂TFS竟然连rollback功能都没有,只能用Team Foundation PowerToys,通过命令行或者GUI界面(部分命令)来扩展VSTF的功能,可以从MS官方网站下载.

-----------------下面是网上找到的用法-------------------

这里要注意的是在运行TF命令时,需要先用CD跳转到一个workspace里,同时要在环境系统变量Path中设置好TFPT的路径。这样的话TF命令才能找到一个workspace。

Team Foundation Server Power Tools

接下来要介绍的是一组几乎对每个团队都具有巨大价值的实用程序:Visual Studio Team System 2008 Team Foundation Server Power Tools (go.microsoft.com/fwlink/?LinkId=120836)。按照发布时间,2008 年 3 月的版本是最新版本。

这 组工具包括 TFPT.exe、Visual Studio Team System Process Editor、Team Foundation Server Best Practice Analyzer、工作项模板、自定义签入策略、Build Notification 小程序以及 TFSServerManager 客户端。下载内容中包括一个详细的 Microsoft® Word 文档,该文档介绍了这些工具的目录以及使用方法。

TFPT.exe 是一个位于 %Program Files%\Microsoft Team Foundation Server 2008 Power Tools 中的命令行工具。它可以扩展主要用于处理 TFS 的版本控制子系统的内置 TF.exe 命令行工具。它当前支持 19 个命令(参见图 2)。

图 2 TFPT.exe 命令

命令 描述
tfpt annotate 逐行显示文件的更改信息。
tfpt bind 将 VSS 绑定解决方案转换为 TFS 绑定解决方案。
tfpt changedocurl 更新有关 TFS 绑定的 Office 文档的服务器信息。
tfpt createteamproject 创建团队项目。
tfpt destroygl 销毁全局列表。
tfpt destroywi 销毁一个或多个工作项。
tfpt destroywitd 销毁工作项类型及其中的工作项。
tfpt getcs 仅获得特定变更集中的更改。
tfpt history 显示项目的历史记录。
tfpt online 挂起对可写文件的添加、编辑和删除操作。
tfpt query 查询工作项。
tfpt review 审核(区别/查看)工作区更改。
tfpt rollback 挂起更改以回滚变更集。
tfpt treeclean 删除不在版本控制下的文件。
tfpt tweakui 增强客户端连接到 TFS 的方式。
tfpt unshelve 取消搁置挂起的更改到工作区中。
tfpt uu 撤消对工作区中未更改的文件的更改。
tfpt workitem 创建、更新或查看工作项。
tfpt workspace 更新工作区。

根 据您选择的命令,您可能需要提供其他参数,而且,其中一些命令(如 rollback 命令)会在您执行该命令后提供 GUI 体验。请注意,其中很多命令需要您执行已映射到 TFS 工作区的文件夹中的工具。您希望修改路径,以便轻松地从任一本地工作区执行 TFPT.exe。

如 果您已使用 Team System 很长一段时间,则可能会注意到一个新命令:createteamproject。对于某些用户来说,可能期待它很久了。最需要注意的一点是:安装 Visual Studio 2008 客户端时必须应用 SP1 才能正常执行此命令。在使用过程中,我发现非常有用的其他命令包括 rollback、treeclean 和 workspace。您可以亲身体验一下。

还有很多与 Team Foundation Server Power Tools 中的版本控制有关的精华内容。首先是自定义签入策略包。我曾在 2007 年 11 月这一期的《MSDN® 杂志》中详细介绍了签入策略 (msdn.microsoft.com/magazine/cc163320)。它可以向您的安装中添加很多有用的签入策略。其中 Custom Path 策略和 Changeset Comments 策略是我在工作中必不可少的两个策略。

其 次,您会在 Visual Studio 中发现很多增强功能。Microsoft 在 TFS 2008 中添加了一些 Team Foundation Server 2005 Power Tools 的增强功能,例如注释功能。但是,其他一些好东西仍然需要 Power Tool。例如,您可以从 Source 命令中获得“查找”功能、Quick Label 功能,以及一个很简单但相当受欢迎的功能,该功能用于在“Windows 资源管理器”中打开“源代码管理资源管理器”中所选的文件夹(参见图 3)。

图 3 在 Windows 资源管理器中打开文件夹(单击图像可查看大图)

每 次创建团队项目都要指定一个过程模板。Microsoft 提供了两个现成模板。尽管如此,不止一个客户希望修改这两个基本过程模板。大多数团队需要将附加字段添加到其部分工作项中,或希望将自己的公司徽标添加到 报表中、将 Bug(错误)工作项的名称更改为 Defect(缺陷),或者将自己的文档添加到 SharePoint 过程指南中。

Microsoft 做了大量努力来公开扩展性点以启用这些类型的自定义项。但是,现成体验确实还需要改进,除非您专门从事编辑过程模板的工作。如果没有 Power Tool,您必须将过程模板下载到您的本地磁盘,将其置于版本控制下,才能开始编辑这些文件。

您 可以使用类似于 Business Intelligence Development Studio 中提供的优秀的 GUI 设计器编辑部分文件,例如报表定义文件。但是,对于其他文件类型(如过去常见的工作项类型定义文件),则需要使用记事本或收藏夹 XML 编辑器并开始删除尖括号。如果您是第一次修改过程模板,则这不会是最佳体验。

幸 运的是,Power Tool 中包含一个过程模板编辑器。安装完成后,您可以在“Visual Studio 工具”菜单中找到“过程编辑器”菜单命令。此工具允许您在磁盘上编辑下载模板的组件(您也可以编辑一些项目,如联机工作项类型定义,但我一般不建议这样 做)。例如,您可以从 Microsoft Solutions Framework for Agile Software Development 版本 4 模板中打开“方案”工作项类型,在提供该方案描述的功能后,定义一个可跟踪所选选项的新字段,然后将此字段添加到工作项布局,然后预览该更改(参见图 4),在此过程中不会看到任何 XML。

图 4 修改方案工作项类型定义(单击图像可查看大图)

也 就是说,随着您逐渐适应修改过程模板,您可能会发现直接编辑 XML 文件更方便。值得高兴的是,Process Editor 也会有所帮助。在大多数屏幕上,您可以看到“查看 XML”按钮,该按钮会显示与您编辑的特定功能相关的 XML 片断。2008 年 3 月版中一个突出的增强功能是编辑器中的更新支持,它可以向工作项类型定义添加自定义控件。在此版本之前的版本中,如果您打开使用自定义控件的工作项类型定 义,会出现错误提示。

Power Tool 中另一个与工作项相关的功能是工作项模板。您可以为特定工作项类型创建一个包含公用默认项目的工作项模板。然后当您需要打开新的错误(例如选择该模板) 时,它将为您预填充该工作项。2008 年 3 月版中的增强功能包括在“团队资源管理器”窗口中包含自身节点的工作项模板。

在 过去的这些年里,Brian Harry 在自己的博客中发布了与 Microsoft 使用 TFS 相关的统计数据。这些发布内容包括版本控制下的项目数量、服务器运行时间以及用户数量等数据。在 2008 年 3 月版中,Brian 公开了自己用来收集这些数据的工具,就是 TFSServerManager 客户端。此工具提供了一种简单的方法,可以为您的开发团队收集自己的有关使用 TFS 的统计数据。

Team Foundation Server Best Practices Analyzer 是一种诊断工具,可从 TFS 部署中收集配置信息并对其进行测试。然后,它使用特定规则分析该信息,然后以信息、警告或错误消息的形式向您返回结果。除此之外,它还提供文章链接以帮助 您解决所有警告和错误。

此 工具无论作为预安装步骤还是帮助您维护并监视 TFS 安装都很有用。您会发现此工具附带一个 Windows 帮助文件形式的文档 (TfsBpa.chm)。不过,只有先安装 Windows PowerShell™ 后,才能安装 Best Practices Analyzer。

最 后,我们讨论与 Team Build 相关的 Build Notification Power Tool。此工具在 Windows 任务栏的通知区域运行。您可以将其配置为监视 TFS 安装中的特定构建定义集,然后让它通知您遇到的各种事件,包括构建何时排入队中、何时开始或完成。当其中一个事件发生时(如某一个构建开始排队等候),屏 幕右下角将出现一条消息(参见图 5)。

图 5 新构建的通知

Team Foundation Server的回滚操作相关推荐

  1. python使用dohq-tfs操作TFS(Team Foundation Server)的Work Item

    背景 因工作需要,现需要将jira切换到微软的TFS(Team Foundation Server),并自动化创建TFS的任务(即 Work Item).根据该需求,我首先使用了它的REST API进 ...

  2. Team Foundation Server Beta3 安装指南

    Team Foundation Server Beta3 安装指南 发布日期: 11/11/2005 | 更新日期: 12/15/2005 本页内容 1.概述 2.安装的安全 3.单服务器的安装过程 ...

  3. 让Visual Studio 2005 Team Foundation Server支持Wss3

    公司的TFS2005开发了若干基于moss2007的产品.由于TFS2005是基于Wss2.0的,导致在使用builder时有些项目编译不过,可能是需要调用Wss3.0的东西吧.而一些第三方的插件都是 ...

  4. SQL Server事务回滚对自增键的影响

    SQL Server事务回滚时是删除原先插入导致的自增值,也就是回滚之前你你插入一条数据导致自增键加1,回滚之后还是加1的状态 --如果获取当前操作最后插入的identity列的值: select @ ...

  5. TFS(Team Foundation Server)介绍和入门

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是如何将这些特性结合在一起使用的. 作为一名软件开发人员,在我的职业生涯中,我经常会 ...

  6. Visual Studio 和 Team Foundation Server 产品维护及周期策略

    1 适用于 Visual Studio 和 Team Foundation Server 2012 - 2017 这些产品遵循 Microsoft 10 年支持生命周期策略(5 年主流支持和 5 年扩 ...

  7. TFS(Team Foundation Server)敏捷使用教程

    一.引言 1 中国式软件过程的坏味道  RUP,CMM/CMMI到了中国就变了味...... 2 Team Foundation Server  TFS是软件开发的协作平台,它要解决的首要问题是团队成 ...

  8. 让Team Foundation Server/TFS自动记住用户名密码解决方案

    在使用Team Foundation Server(以下简称TFS) 的时候,在每次打开Visual Studio TFS时候,需要输入用户名和秘密,比较麻烦. 现提供一种方法可以解决这个问题: 依次 ...

  9. Team Foundation Server简介

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

最新文章

  1. 调用.NET XML Web Services返回数据集合一
  2. 大脑也在强化学习!加州大学提出「价值决策」被大脑高效编码,登Neuron顶刊...
  3. ADSL防御******的十大方法
  4. [bootStrap]代码块出现横线滚动条
  5. 【目标检测_CentripetalNet】CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection_2020
  6. java 8 lambda_异常作弊– Java 8 Lambdas
  7. LeetCode 网易-2. 古老的游戏机
  8. 关系数据库SQL之可编程性触发器
  9. html设置焦点图片,HTML设置焦点
  10. 获得Class引用的三种方式?Class.forName()、getClass以及.class的使用
  11. 第27月第24天 git pull fetch
  12. [转载]如何高效、轻松地利用一天?
  13. a标签中href=javascript:;表示什么意思??
  14. c 语言编写个人所得税程序,C语言编写一个计算个人所得税的程序,要求输入收入金额,能够输...
  15. Python ICMP扫描
  16. html js把json转化为excel,json转换Excel
  17. 计算机画图星星怎么画,电脑画图工具 奇奕画王使用教程(附序列号)
  18. 广外男生病毒代码剖析
  19. Mysql大文本类型
  20. 每次刷新页面时总会先闪一下空白再出现背景图片的解决

热门文章

  1. Vector的使用详解
  2. [USACO 2017 Feb Gold] Tutorial
  3. 數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)
  4. 20172301 2017-2018-2《程序设计与数据结构》课程总结
  5. Oracle存储过程(转)
  6. Android 使用SeekBar调节系统音量
  7. 判断 Java 中的空字符串
  8. [Leetcode][第32题][JAVA][最长有效括号][动态规划][栈][正向逆向结合]
  9. UVa-10820 Send a Table 欧拉函数
  10. html 常用字符,html 常用特殊字符