我想回滚最近在TFS中所做的更改。在Subversion中,这非常简单。但是,这似乎在TFS中令人难以置信:
选项1:获取先前版本
- 手动获取每个文件的先前版本
- 签出进行编辑
- 失败-结帐(在VS2008中)迫使我获取最新版本
选项2:获取TFS电动工具
- 下载Team Foundation电动工具
- 从cmd行发出回滚命令
- 失败-如果还有其他待处理的更改,它将不起作用
选项3:手动撤消更改
- 手动撤消我的更改,然后提交新的更改集
题
如何回滚到TFS中的先前变更集?
我想回滚最近在TFS中所做的更改。在Subversion中,这非常简单。但是,这似乎在TFS中令人难以置信:
如何回滚到TFS中的先前变更集?
Answers:
该工具的最大缺点是,它需要在合并之前刷新工作空间中的所有内容。我通过为回滚创建一个新的工作区来解决了这个问题,该工作区直接映射到源树中受影响文件所在的位置。
如果您需要帮助找出哪些变更集可以回滚,我发现免费的Team Foundation Side Kicks加载项中的代码查看工具非常有用。
您的解决方案#1将起作用:1.手动获取每个文件的先前版本
签出进行编辑
检入文件,并在出现提示时忽略服务器更改。
它对您失败的原因是因为您必须启用“在检出时获取最新版本的项目”选项。通过转到工具...选项...源代码控制... Visual Studio Tema Foundation Server并取消选中“在检出时获取最新版本的项目”来关闭此选项
干杯
回滚已从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]]
在TFS 2010版本控制中,有两个选项可用于回滚(还原)变更集。第一种选择是使用用户界面(如果您安装了最新版本的TFS 2010 Power Tools)。
另一个选项是使用TFS 2010版本控制命令行应用程序:
tf.exe rollback
我的博客文章中提供了有关这两种方法的信息,网址为:http : //www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx
使选项1起作用的另一种方法是颠倒步骤的顺序:
即使您设置了“在结帐时获取最新信息”也可以使用。
作为参考,如果您使用的是TFS 2010,则这是“ 回滚命令(Team Foundation版本控制)”手册的链接。
要回滚特定的变更集,请转到Visual Studio命令提示符(2010),导航到TFS工作区目录,然后键入以下命令:
tf rollback /changeset:C12345
12345
您的变更集号码在哪里。在此之后,它将向您显示其操作的日志,并且您必须整理出合并冲突。
啊,刚刚找到此CodePlex文章,内容涉及使用TFPT.exe(强大工具)回滚变更集。
希望这可以帮助你。
没有回滚选项实际上是TFS的功能;)
要回滚更改:
现在,您还可以保存回滚之前的所有中间变更集!多么伟大的功能!
我认为Team Foundation Power Tools是必经之路。如果有暂挂的更改,则可以将它们移到架子集,然后撤消或签入所有暂挂的更改,然后再运行rollback命令。有关更多信息,请参阅http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20to%20undo%20a%20check-in&referringTitle=Source%20Control%20Practices%20at%20a%20Glance。
另一个选择是TFSPlus。此Visual Studio插件将(其中包括)“获取此版本”命令添加到历史记录窗口。如果您已签出文件,它将用该版本替换。如果之后进行签入,则将有效地回滚到该版本。
但是,它适用于单个文件而不是完整的变更集。
使用TFS powertools是最好的方法http://rajputyh.blogspot.com/2008/08/change-set-rollback-using-tfs-power.html
安装最新版本的TFS Power Tools(2011年8月),您可以右键单击更改集,然后选择“回滚整个更改集 ”。没有比这容易的多了。
在此处可用:http : //visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
在上一页的“ 团队资源管理器增强”下得到了提示:
此版本的新增功能是[..]可以轻松回滚版本控制中的更改。