Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在Visual Studio TFS中回滚?_Visual Studio_Tfs_Tfs Power Tools - Fatal编程技术网

Visual studio 如何在Visual Studio TFS中回滚?

Visual studio 如何在Visual Studio TFS中回滚?,visual-studio,tfs,tfs-power-tools,Visual Studio,Tfs,Tfs Power Tools,我正在一个大型项目的一个子模块上工作,该项目是use VSTS 2008 我需要将模块回滚到早期版本(之前大约4次签入)。我尝试在VisualStudioUI中执行此操作,最后意识到没有回滚选项 经过一些研究,我确定有一个电动工具下载,它声称通过命令行工具支持回滚。然而,似乎几乎没有关于它的文档 有人能一步一步地描述如何在VS2008中回滚到以前的版本吗?(使用电动工具或其他方式) 额外的问题——有人知道我们是否可以在VS2010中获得更强大的回滚支持吗?右键单击源代码管理资源管理器中的文件夹。

我正在一个大型项目的一个子模块上工作,该项目是use VSTS 2008

我需要将模块回滚到早期版本(之前大约4次签入)。我尝试在VisualStudioUI中执行此操作,最后意识到没有回滚选项

经过一些研究,我确定有一个电动工具下载,它声称通过命令行工具支持回滚。然而,似乎几乎没有关于它的文档

有人能一步一步地描述如何在VS2008中回滚到以前的版本吗?(使用电动工具或其他方式)


额外的问题——有人知道我们是否可以在VS2010中获得更强大的回滚支持吗?

右键单击源代码管理资源管理器中的文件夹。选择获取特定版本。选择要获取的版本(按变更集、日期、标签等)

编辑:此时,您的本地版本将是您想要的版本。签出更改的文件,然后将其签回。这将启动合并向导,它可能会抱怨服务器的版本比您的更新。完成向导并按您希望的方式合并文件(其中一个选项是放弃服务器更改,这听起来像是您希望的)。在这个过程结束时,它可能会告诉您由于合并过程(或类似的性质)没有签入任何文件,只需点击OK,然后再次签入即可。这应该能满足你的需要

还有一个问题——有人知道我们是否可以在VS2010中获得更强大的回滚支持吗

对。与直接针对现有2008客户端API编码的Power Tools不同,TFS 2010有一个新的API,用于直接在服务器上执行回滚。这使它们更快、更可靠,同时添加了2008年根本不可能实现的功能,如还原合并历史记录。

来自MSDN文章(VS2008,尽管有其他版本)

要恢复到的早期版本,请执行以下操作: 文件

  • 在源代码管理资源管理器中,右键单击要删除的文件 回滚,然后单击“获取特定” 版本此时会出现“获取”对话框
  • 在“类型”下,单击“变更集”
  • 在变更集下,单击省略号(…)
  • 在“查找变更集”对话框中,使用默认值或 指定搜索条件,然后 然后单击查找
  • 在“结果”下,单击包含要更新的版本的变更集 要还原该文件,然后 单击“确定”
  • 在“获取”对话框中,选择覆盖不可用的可写文件 选中复选框,然后单击 得到。文件的早期版本 已复制到您的本地工作区 文件夹
  • 在源代码管理资源管理器中,右键单击该文件,然后单击 签出以进行编辑
  • 在“检出”对话框中,单击“检出”
  • 在源代码管理资源管理器中,再次右键单击该文件,然后单击 单击签入挂起的更改
  • 在“检入-源文件”对话框中,单击该文件,然后单击 单击签入。解决冲突 对话框出现,并显示一条消息 说明没有保存任何文件 已签入,因为这两个版本 有冲突的变化
  • 在消息框中,单击“确定”。“挂起的更改–冲突”窗口 出现了
  • (可选)在“挂起的更改”窗口的工具栏中,单击“比较” 本地到服务器。服务器和本地 副本并排出现,以便您 你可以先回顾一下你的决定 回滚更改
  • 在“挂起的更改”窗口中,单击“保留本地版本”
  • 在源代码管理资源管理器中,右键单击该文件,然后单击 签入挂起的更改
  • 在“检入-源文件”对话框中,单击“检入”

  • 有一种方法,但我觉得它并不漂亮。。打开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
    
    将完全回滚支持添加到VisualStudio2010 UI中

    下载链接:


    TFS 2012中也包含此功能。

    幸运的是,TFS 2012使此功能变得更加简单。现在GUI中有一个回滚选项

    提供了有关如何执行此操作以及可用选项的更多信息。 以下是MSDN中有关如何回滚到特定版本的文本:

    要回滚到特定版本,请执行以下操作:

  • 在源代码管理资源管理器中,选择一个项目,打开其快捷菜单,然后选择“回滚”
  • 在“回滚”对话框中,选择“回滚到特定版本”

  • 当然,您也可以回滚整个变更集或变更集集合。如果愿意,您还可以轻松回滚到特定的时间点。

    在Visual Studio 2013中,这变得更容易。要回滚,请执行以下操作:

  • 在源代码管理资源管理器中,选择解决方案/项目
  • 右键单击,然后选择“查看历史记录”
  • 在“历史记录”视图中,选择要回滚的变更集
  • 右键单击,然后选择查看变更集详细信息。这将打开团队资源管理器
  • 在团队资源管理器中,单击“回滚”:
  • 要使回滚永久化,您需要立即签入。或者,您可以对回滚的版本进行更改,然后签入

  • 如果这真的是答案的话,TFS会非常难过。这是一种痛苦,应该有更好的方法。此外,当您要回滚添加了新文件和/或删除了其他文件的文件夹时,这种方法根本不起作用。这太可怕了。在获得旧版本后,必须导航到每个文件并将其签出和签回,以便恢复更改。很高兴我们搬到了SVN。现在有一个更好更快的方法来做到这一点。看看@Rene的答案。更新的TFS和VS您需要通过源代码管理资源管理器和它的两个步骤和wo来完成