如何回滚TFS签到?

Jason 92 version-control tfs rollback visual-studio-2008

我想回滚一下我最近在TFS中做出的改变.在Subversion中,这非常简单.然而,它似乎是TFS令人难以置信的头痛:

选项1:获取先前版本

  1. 手动获取每个文件的先前版本
  2. 退房编辑
  3. 失败 - 结账(在VS2008中)迫使我获得最新版本

选项2:获取TFS电动工具

  1. 下载Team Foundation Power Tools
  2. 从cmd行发出回滚命令
  3. 失败 - 如果有任何其他待定更改,它将无法工作

选项3:手动撤消更改

  1. 手动撤消我的更改,然后提交新的更改集

如何回滚到TFS中的先前变更集?

Helephant.. 63

  1. 下载并安装Team Foundation Power Tools.
  2. 打开Visual Studio命令提示符
  3. 导航到TFS映射到的文件系统上的目录.如果您不这样做,当您尝试回滚时,您将收到"无法确定工作区"错误
  4. 确保其他所有内容都已签入或搁置
  5. 运行tfpt rollback以调出界面.
  6. 选择要回滚的更改集
  7. 签入您回滚的文件的新版本

该工具的最大缺点是它需要在合并之前刷新工作区中的所有内容.我通过为回滚创建一个新工作区来解决这个问题,该回滚直接映射到受影响文件所在的源树中的位置.

如果您需要帮助来确定要回滚的更改集,我发现免费的Team Foundation Side Kicks插件中的代码审查工具非常有用.

  • 'rollback'命令已移出Power Tools for VS2010,所以现在你只需输入'tf rollback':http://social.msdn.microsoft.com/Forums/en/tfspowertools/thread/1ce0844b-d607- 433A-B239-bf5658b092f1 (7认同)

小智.. 24

您的解决方案#1将起作用:1.手动获取每个文件的先前版本

  1. 退房编辑

  2. 检查文件并在出现提示时忽略服务器更改.

之所以失败是因为您必须打开"在结帐时获取项目的最新版本"选项.转到工具...选项...源控制... Visual Studio Tema Foundation Server并取消选中"在签出时获取项目的最新版本",关闭此选项

干杯

  • 只是在经过2小时的电动工具挣扎之后就这样做了,而且没有得到任何地方...... wtf与TFS不支持这个基本功能...... (2认同)
  • 需要明确的是,这不是真正的回滚。正在获取旧版本。不一样的东西。 (2认同)

小智.. 18

回滚已从tfpt.exe移至Team Foundation版本控制工具tf.exe.

TF - Team Foundation Version Control Tool, Version 10.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Rolls back the changes in a single or a range of changesets:
tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]

tf rollback /toversion:versionspec itemspec [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]


小智.. 14

使您的选项1工作的另一种方法是颠倒步骤的顺序:

  1. 检查项目
  2. 获取旧版本的特定版本
  3. 签入(忽略"警告服务器版本较新"对话框)或在"待定更改"对话框的"冲突"部分中,通过保留本地版本来解决冲突.

即使您在结帐时设置了最新信息,这也可以使用.


Ed Blankensh.. 14

在TFS 2010版本控制中,您有两个回滚(还原)变更集的选项.第一个选项是使用用户界面(如果您安装了最新版本的TFS 2010 Power Tools).

用于TFS 2010的UI中的回滚变更集

另一个选项是使用TFS 2010版本控制命令行应用程序:

tf.exe rollback

我在这里的博客文章中有关于这两种方法的信息:http: //www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx


Грозный.. 5

作为参考,如果你正在使用TFS 2010,下面就来链接ROLLBACK命令(Team Foundation版本控制)手册.

要回滚特定的变更集,请转到Visual Studio命令提示符(2010),导航到TFS工作空间目录,然后键入命令:

tf rollback /changeset:C12345

12345你的变更号码在哪里.在此之后,它将显示它所做的日志,你将必须解决合并冲突.