在TFS中回滚单个文件


72

如果我在源代码管理中查看单个文件的历史记录,则可以右键单击列表中的更改集,然后选择“回滚整个更改集”。

这会回退我在签入过程中签入的所有其他文件还是仅回退当前正在查看的文件吗?如果确实回滚所有文件,是否有办法仅回滚所选文件?

谢谢

Answers:


96

如前所述,回滚变更集会完全回滚它。

安装Team Foundation Power Tools(我认为几乎每个人都应该安装)提供了另一种选择:如果要回滚单个文件,可以右键单击Source Control Explorer中的单个文件,然后选择Rollback...。


这实际上是一个更好的答案
Hoody

1
乐意效劳。您也可以使用命令行(tf.exe)对单个文件执行回滚。
Assaf Stone

2
下载的Visual Studio 2010集成:visualstudiogallery.msdn.microsoft.com/...
詹姆斯Skemp

5
在TFS的较新版本中,这是本机功能,因此请在安装Power Tools之前检查
Aaroninus 2015年

3
@LJNielsenDk这与答案中所述的方法相同,只是不需要电动工具(源代码管理资源管理器中的右键单击文件)
Aaroninus

38

是的,回滚整个变更集将回滚其中的所有变更。

但是,回滚不是立即发生的,当您单击该选项时,回滚将执行反向合并并将更改保留在您的工作空间中。因此,您可以在“待更改”中查看它们。

就您而言,只需执行回滚,然后撤消除您实际要回滚的文件以外的所有内容。


这通常可以正常工作,但是如果您不需要回滚的其他文件之一被另一个用户锁定,则不会起作用。
Mark Adamson

25

从现在开始,至少在Visual Studio 2015中,您可以转到源代码管理,右键单击一个文件,然后选择“回滚”。这将询问您要回滚该文件的更改集,并且仅回滚该文件。


这也适用于Team Explorer Everywhere TFS Eclipse插件(仅在v14上选中)
ethesx

我在解决方案资源管理器中不存在此选项。在主右键单击菜单上或“源代码管理”子菜单下
Ryan

如果您在2019年阅读此书,我建议将您的repo切换为使用git,有一些工具可以复制tfs签入历史记录。
CularBytes

3

非常简单的解决方法:) 1.回滚整个更改集2.撤消除您实际需要的文件以外的所有文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.