0

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

4

3 回答 3

2

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

查看历史

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

于 2013-04-09T06:11:10.603 回答
1

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

如果你还没有关闭 Visual Studio,它可能还在你的Copy / Paste圈子里,值得一试。

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

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

于 2013-04-09T06:12:53.407 回答
0

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

于 2015-08-17T20:31:54.623 回答