我想回滚一下我最近在TFS中所做的更改。在Subversion中,这非常简单。然而,这似乎是TFS令人难以置信的头痛:
如何回滚到TFS中的先前变更集?
答案 0 :(得分:63)
该工具的一大缺点是它需要在合并之前刷新工作区中的所有内容。我通过为回滚创建一个新的工作区来解决这个问题,该回滚直接映射到受影响文件所在的源树中的位置。
如果您需要帮助来确定要回滚的更改集,我会发现免费Team Foundation Side Kicks加载项中的代码审核工具非常有用。
答案 1 :(得分:24)
您的解决方案#1将起作用: 1.手动获取每个文件的先前版本
退房编辑
检查文件并在出现提示时忽略服务器更改。
你失败的原因是你必须拥有 “在结帐时获取项目的最新版本”选项已打开。 通过转到工具...选项...源控制... Visual Studio Tema Foundation Server并取消选中“在签出时获取项目的最新版本”来关闭此选项
干杯
答案 2 :(得分:18)
回滚已从tfpt.exe移至tf.exe,Team Foundation版本控制工具。
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]]
答案 3 :(得分:14)
在TFS 2010版本控制中,您有两个回滚(还原)变更集的选项。第一个选项是使用用户界面(如果您安装了最新版本的TFS 2010 Power Tools)。
另一个选项是使用TFS 2010版本控制命令行应用程序:
tf.exe rollback
我在blog post上提供了有关这两种方法的信息:http://www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx
答案 4 :(得分:14)
使选项1工作的另一种方法是颠倒步骤的顺序:
即使您在结帐时设置了最新信息,这也会有效。
答案 5 :(得分:5)
作为参考,如果您使用的是 TFS 2010 ,则此处是指向Rollback Command (Team Foundation Version Control)手册的链接。
要回滚特定的更改集,请转到 Visual Studio命令提示符(2010),导航到您的TFS工作区目录,然后输入命令:
tf rollback /changeset:C12345
其中12345
是您的变更集编号。在此之后,它将显示它所执行操作的日志,并且您将必须解决合并冲突。
答案 6 :(得分:4)
啊,刚刚发现这个CodePlex Article on using TFPT.exe(电动工具)来回滚变更集。
希望这可以帮助你。
答案 7 :(得分:4)
没有回滚选项实际上是TFS的功能;)
要回滚更改:
现在还可以保存回滚之前的所有中间变更集!真是太棒了!
答案 8 :(得分:1)
我认为Team Foundation Power Tools是最佳选择。如果有挂起的更改,您可以将它们移动到shelveset,然后在运行rollback命令之前撤消或检入所有挂起的更改。有关详细信息,请参阅http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20to%20undo%20a%20check-in&referringTitle=Source%20Control%20Practices%20at%20a%20Glance。
答案 9 :(得分:1)
获取特定版本
在版本 类型下拉列表中选择键入为更改集
如果您知道此号码,请使用“更改集...”按钮查找您的变更集,或者只需输入。
获得特定的变更集后。
结帐
签入
答案 10 :(得分:1)
使用TFS电动工具是最好的方式{{3p>
答案 11 :(得分:1)
另一个选项是TFSPlus。此Visual Studio Addin将(获取此版本)命令添加到历史窗口中。如果您已检出文件,则会将其替换为该版本。如果您之后签入,则将有效地回滚到该版本。
但它适用于单个文件而不是完整的变更集。
答案 12 :(得分:1)
Ben Scheirman - “变更集详细信息”对话框没有回滚功能。
答案 13 :(得分:1)
如果您执行了1次签到并且您只想撤消它,那么它具有与之关联的变更集#。对相关文件夹执行历史记录以查看错误的更改集。打开它以查看详细信息(所有文件已更改等)。
我相信您可以从该屏幕恢复或撤消变更集,但是当我尝试执行此操作时,我的Visual Studio就崩溃了。 /叹气 - 我绝对分担你的痛苦。
我在哪个网站上下载TFS?
答案 14 :(得分:0)
这些解决方案都不适合我Dave Roberts解决方案最接近我实际工作的方式。 我没有在启用签出时获取最新版本的项目,但它似乎是服务器策略。
我的解决方法是检查文件以进行编辑,获取特定版本,然后在检测到冲突时使用合并工具(并手动合并任何更改),以便文件处于条件状态。
我将与特定版本进行比较并复制整个文件,然后将其粘贴到旧文件的顶部。
仍然应该有一种更简单的方法来做到这一点!
答案 15 :(得分:0)
上述解决方案适用于TFS2008。 TFS2010具有内置的回滚功能。有关详细信息,请参阅this文章。
答案 16 :(得分:0)
安装最新版本的TFS Power Tools (2011年8月),您只需右键单击更改集,然后选择“回滚整个变更集”。它并没有那么容易。
可以在这里找到: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
在上面的团队资源管理器增强功能中暗示:
此版本中的新功能是[..]轻松回滚版本控制中的更改。