我正在处理一个大型项目的子模块,并使用VSTS 2008。
我需要将该模块回滚到早期版本(大约是前4次提交)。我尝试在Visual Studio UI中执行此操作,最终意识到没有回滚选项。
经过一些研究,我确定有一个Power Tools下载,声称通过命令行工具支持回滚。但是,几乎没有文档可用。
请问有人可以逐步描述如何在VS2008中回滚到以前的版本吗?(使用Power Tools或其他方式)。
额外问题-是否有人知道我们是否会在VS2010中获得更强大的回滚支持?
我正在处理一个大型项目的子模块,并使用VSTS 2008。
我需要将该模块回滚到早期版本(大约是前4次提交)。我尝试在Visual Studio UI中执行此操作,最终意识到没有回滚选项。
经过一些研究,我确定有一个Power Tools下载,声称通过命令行工具支持回滚。但是,几乎没有文档可用。
请问有人可以逐步描述如何在VS2008中回滚到以前的版本吗?(使用Power Tools或其他方式)。
额外问题-是否有人知道我们是否会在VS2010中获得更强大的回滚支持?
在源代码控制器中,右键点击文件夹,选择“获取指定版本”,选择您所需的版本(按变更集、日期、标签等选择)。
注意:此时本地版本将是您所需的版本。检出已更改的文件,再将它们检入。这将启动合并向导,并且它可能会抱怨服务器有比你更新的版本。按照您想要的方式合并文件(其中一个选项是放弃服务器更改,这似乎是您想要的)。完成此过程后,它可能会告诉您由于合并过程没有检入任何文件(或类似的内容),只需单击“确定”然后再次检入即可。这应该实现您的需求。
TFS 2012使得这个事情变得容易多了。现在有一个GUI中的回滚选项。
MSDN上有更多关于如何操作以及可用选项的信息。 以下是来自MSDN的文本,说明如何回滚到特定版本:
要回滚到特定版本:
- 在源代码控制资源管理器中,选择一个项,右键单击打开其快捷菜单,然后选择“回滚”。
- 在回滚对话框中,选择“回滚到特定版本”。
当然,您也可以回滚整个changeset或一组changesets。如果需要,还可以轻松地回滚到特定时间点。
有一种方法,但我认为它不太好看。打开Visual Studio命令提示符并..
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>tf rollback -?
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]]
Versionspec:
Date/Time D"any .Net Framework-supported format"
or any of the date formats of the local machine
Changeset number Cnnnnnn
Label Llabelname
Latest version T
Workspace Wworkspacename;workspaceowner
2011年8月TFS Power Tools在Visual Studio 2010 UI中加入了完整的回滚支持。
下载链接:http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
此功能也包含在TFS 2012中。
额外的问题--有人知道我们是否可能在VS2010中获得更强大的回滚支持吗?
是的。与Power Tools不同,它直接针对现有的2008客户端API进行编码,TFS 2010具有用于直接在服务器上执行回滚的新API。这使它们更快,更可靠,并添加了在2008中根本不可能的功能,例如还原合并历史记录。
来自 MSDN 文章 如何回滚变更集 (VS2008,但其他版本也可用)
要还原文件到早期版本,请按以下步骤操作: