如何在 TFS 2010 中恢复(回滚)签入

Posted

技术标签:

【中文标题】如何在 TFS 2010 中恢复(回滚)签入【英文标题】:How to revert (Roll Back) a checkin in TFS 2010 【发布时间】:2011-02-11 06:51:32 【问题描述】:

谁能告诉我?

【问题讨论】:

【参考方案1】:

Team Foundation Server 2010 版本控制中,您有两个选项可用于回滚(恢复)变更集。第一个选项是使用用户界面(如果您安装了最新版本的 TFS 2010 Power Tools)。

另一个选项是使用TFS 2010 version control command-line application:

tf.exe rollback

我的blog post 上有关于这两种方法的信息。

对于 Team Foundation Server 2012、2013 或 Visual Studio Online,回滚现在直接内置到源代码管理资源管理器中,并且当您在团队资源管理器窗口中打开变更集的详细信息时。使用 Visual Studio 2012 或更高版本时,无需为此功能安装任何版本的 Power Tools。有一篇很棒的 MSDN 文章讨论了有关回滚变更集的详细信息,现在可以在此处获得:http://msdn.microsoft.com/en-us/library/ms194956(v=vs.110).aspx

【讨论】:

在 Visual Studio 2012 中也可以直接回滚 TFS 变更集from the Source Control Explorer UI @EnricoCampidoglio 非常感谢!我继续使用 Visual Studio 2012 的附加信息更新了答案。【参考方案2】:

对于 2010,请从命令行使用回滚命令。到目前为止,IDE 中还没有对此的集成支持。

Rollback command

基本上,它的工作方式是创建一个“反增量”来否定受影响的变更集。您可以通过执行“获取特定版本”手动完成相同的事情,在文件中添加一个空格,使其看起来像已更改,然后签入。如果我需要单个文件,我仍然会走后一条路线来取消更改文件,因为我发现这样做更快。

【讨论】:

观看此视频以快速演示 tf 回滚:youtube.com/watch?v=ar6E88Tpf9I 在一台机器上,tf.exe 位于 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe" 回滚。您需要从其中之一运行回滚连接到要回滚的集合的映射文件夹。【参考方案3】:

不使用电动工具或命令行:

    确保工具->选项->源代码管理->Visual Studio Team Foundation Server 取消选中在签出时获取最新版本的项目 在源代码管理资源管理器中查看项目文件夹的历史记录并右键单击要回滚的变更集并选择获取此版本 查看源代码管理资源管理器中项目文件夹的编辑(这应该保留您刚刚从历史记录中获得的本地版本) 签入源代码管理资源管理器中项目文件夹的待定更改 如果 Visual Studio 要求您解决冲突,请选择“保持本地”并再次尝试签入源代码管理资源管理器中项目文件夹中的待处理更改

【讨论】:

【参考方案4】:

为其他用户回滚更改

如果您尝试为其他用户回滚更改,请确保您获得了您尝试回滚的文件的最新信息;否则你会看到错误:

“没有要回滚的更改。”

【讨论】:

感谢您的提示,但这更像是评论而不是答案【参考方案5】:

您可以通过命令行回滚变更集(在 TFS2010 中):

    打开 CMD 或 Visual Studio 命令提示符 将目录更改为您的工作区文件夹。示例:cd C:\myWorkspace 运行以下 tf 命令(其中 123 是变更集编号)C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" rollback /changeset:123 /recursive 转到“待更改”窗口以检查标有 edit,rollback 的文件并进行签入。

注意:即使在 Visual Studio 命令提示符中也必须使用 tf.exe 完整路径以避免“无法确定工作区”错误。更多信息here

回滚参考 (TFS 2010)https://msdn.microsoft.com/en-us/library/dd380776(v=vs.100).aspx

【讨论】:

【参考方案6】:

在 Visual Studio 和源代码管理/查看历史记录中右键单击文件 然后选择最后一个变更集,右键单击并单击回滚 回滚完成后,您应该再次签入。

【讨论】:

【参考方案7】:

TFS 中没有撤消选项(直到 2008 年,我还没有使用 2010 年)。 您可以使用一些命令行强大的工具来回滚可能会有所帮助的更改:

http://msdn.microsoft.com/en-us/library/ms194956%28VS.80%29.aspx

HTH

【讨论】:

以上是关于如何在 TFS 2010 中恢复(回滚)签入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TFS 中恢复回滚的更改集?

如何撤消 TFS 2010 中的变更集回滚?

如何撤消 TFS 中的回滚?

如何使用 Visual Studio 2003 和 TFS?

TFS 签入 RSS 提要

TFS2010:如果存在代码分析警告,则阻止签入