【问题标题】:Is there a way to recover erased code in a source-controlled project(TFS)?有没有办法在源代码控制项目(TFS)中恢复已擦除的代码?
【发布时间】:2013-04-09 05:56:15
【问题描述】:

我正在开发一个托管在 TFS 上的 Visual Studio 2012 项目。无论如何,当我试图从一个文件中移动一个大型函数体时,我不知道是由于睡眠不足还是粗心造成的到另一个,我将声明复制到新文件,但忘记复制正文,然后从旧文件中删除正文,通过反射单击保存并关闭第一个 .cpp 文件,所以当我将它粘贴到第二个时,令我惊讶的是,我粘贴了声明而不是定义。撤消挂起的更改只会全部撤消“添加”。有什么方法可以检索丢失的源代码还是应该尽快开始重写它?因为我花了很长时间写它。

【问题讨论】:

  • 讨论此主题的论坛不正确。
  • 如何使用编程工具属于 SO 的范畴。我认为没有理由关闭这个问题。
  • 我的意思是它应该在VS用法标签中而不是在c++中

标签: visual-studio azure-devops source-control-explorer


【解决方案1】:

查看文件的历史记录。右键>>源代码管理>>查看历史,如下:

这显然是假设您已经在某个时候签入过。

【讨论】:

    【解决方案2】:

    在 Visual Studio 下,您有多个级别的复制/粘贴,因此您可以通过按 CtrlAltIns 检索它(如果我记好)。

    如果您还没有关闭 Visual Studio,它可能仍在您的 Copy / Paste 环中,值得一试。

    否则,您始终可以在 TFS 服务器中回滚到之前的签入状态(如果您在删除之前签入了所需的代码)。

    首先,将您当前的状态签入服务器。然后回滚到包含您的代码的先前版本(右键单击您的解决方案,然后单击Source Control -> Get Specific Version)。现在在侧面编辑器中复制您的代码。重新转到最新版本(Get latest Version... 在您的解决方案上)。现在将代码重新粘贴到正确的位置,就完成了。

    【讨论】:

      【解决方案3】:

      如果 CTRL+Z 在 VS 中不起作用,请转到已删除文件的空文件夹并在那里尝试 CTRL+Z。已经为我工作了好几次。

      【讨论】:

        猜你喜欢
        • 2011-02-27
        • 2016-12-25
        • 1970-01-01
        • 2011-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-22
        相关资源
        最近更新 更多