112

谁能告诉我如何在 TFS 2010 中恢复(回滚)签入?

4

7 回答 7

123

在Team Foundation Server 2010版本控制中,您有两个选项可用于回滚(还原)变更集。第一个选项是使用用户界面(如果您安装了最新版本的TFS 2010 电动工具)。

TFS 2010 UI 中的回滚变更集

另一种选择是使用TFS 2010 版本控制命令行应用程序

tf.exe rollback

我的博文中有关于这两种方法的信息。

对于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

于 2011-08-19T15:58:52.847 回答
46

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

回滚命令

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

于 2010-04-22T21:54:06.900 回答
12

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

  1. 确保 Tools->Options->Source Control->Visual Studio Team Foundation Server 取消选中 Get latest version of item on check out
  2. 在源代码管理资源管理器中查看项目文件夹的历史记录并右键单击要回滚的变更集并选择获取此版本
  3. 检查源代码管理资源管理器中项目文件夹的编辑(这应该保留您刚刚从历史记录中获得的本地版本)
  4. 签入源代码管理资源管理器中项目文件夹的待定更改
  5. 如果 Visual Studio 要求您解决冲突,请选择保持本地并再次尝试签入源代码管理资源管理器中项目文件夹上的待处理更改
于 2012-03-13T21:31:56.620 回答
2

为其他用户回滚更改

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

“没有更改回滚。”

于 2012-11-26T15:28:07.413 回答
2

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

  1. 打开 CMD 或 Visual Studio 命令提示符
  2. 将目录更改为您的工作区文件夹。示例:cd C:\myWorkspace
  3. 运行以下 tf 命令(其中 123 是变更集编号)
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" rollback /changeset:123 /recursive
  4. 转到 Pending Changes 窗口以检查标记为编辑、回滚并执行签入的文件。
    回滚操作后的挂起更改示例

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

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

于 2016-06-23T15:16:48.300 回答
0

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

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

高温高压

于 2010-04-22T21:48:04.263 回答
0

在 Visual Studio 和 Source Control/View History 中右键单击文件,然后选择最后一个变更集,右键单击并单击 Rollback 回滚完成后,您应该再次签入。

于 2014-08-14T15:56:22.257 回答