如何撤消VS Code/Git中的"放弃所有更改"

use*_*622 14 git version-control visual-studio-code

我担心我已经知道了答案,但无论如何都在这里..我偶然点击了VS Code(OSX)中的"Discard All Changes",现在一个月的工作量已经消失.Poof'd.事实是,我没有正确设置GIT,所以我还没有做任何提交.无论如何我可以恢复工作吗?现在我的工作目录就像空的一样好..

[编辑]我应该澄清一下,控制台日志说它做了一个"git clean -f -q",这意味着文件已经消失了.但我想知道VSCode是否有备份或历史或缓存..或任何东西.我很绝望..

yya*_*r97 197

我只知道解决这个问题的唯一方法。您必须记住您更改过的每个文件名。

第 1 步:在 VSC 上输入 Ctrl + Shift + P

步骤 2:选择选项“本地历史记录:查找要恢复的条目”

第三步:找到需要恢复的文件

第 4 步:选择保存该文件的时间

步骤5:复制文件内容并恢复

在此输入图像描述

在此输入图像描述

在此输入图像描述

  • 谢谢!拯救了我的一天。我正在使用 IntelliJ,每个文件夹还有“本地历史记录”菜单 (5认同)

小智 19

这太可怕了,但我有一些运气!

我能够恢复我单击的文件discard all changes。毫无疑问,git 无法恢复那些丢失的更改,但我们的系统(和 VScode 有)。

我是如何恢复这些变化的?

  1. 我刚刚在 VScode 中再次打开这些文件,使用ctrl+p.
  2. 一旦打开,然后我按下ctrl+z尝试撤消我的更改,猜猜怎么着,我的系统剪贴板帮助我恢复了我所有的确切更改。

如果您正在处理一个新文件,那么它现在已被删除并且现在没有足迹。您仍然可以恢复文件,只需按ctrl+p,因为文件已经在 VScode 中打开,标签为(deleted)

简而言之,只要您没有重新启动 VScode,您仍然可以恢复您的更改。如果此解决方案也适用于您,请随时为我的答案投票。谢谢 !!


YEV*_*EVY 13

在无意间按了放弃,然后在错误的文件上更改了btn,然后我在这里结束了)没有找到还原的方法,我尝试在该文件中使用简单的CMD + Z(CTRL + Z),然后开始运行-一切都回来了,所以不要放弃尝试:)非常满意


Mar*_*Liu 7

摘要:您的工作已丢失,无法恢复.

VS代码中的Clean All(丢弃所有更改)选项基本上执行:

git clean -fd
git checkout -- .
Run Code Online (Sandbox Code Playgroud)

因此,是否git clean -fd可以撤消丢弃未提交的更改是git的手.不幸的是,更改并没有存储在git中,因为它没有提交,因此在git clean -fd执行之后,git将强制删除未跟踪的文件.

执行命令后git checkout -- .,git会将git中的所有已修改文件签出为上次提交的版本.

  • 我强烈不同意这个公认的答案。如 roslyn 和 EFFG 的回答所述,文件可能会在 VS Code 上使用 ctrl+Z 或在垃圾箱中恢复。 (4认同)
  • 这到底是什么意思?我什么都不懂,有什么身体可以解释吗?有什么要撤消未提交的更改吗? (2认同)

小智 6

如果您无法使用Ctrl + Z或Command + Z来撤消或无法在垃圾桶/回收站中找到文件,则可以使用文件恢复软件进行还原。我能够使用Piriform的Recuva的免费版本来恢复我意外丢弃的更改。

  • 这应该是公认的答案。你节省了我一整天的工作! (2认同)

小智 5

即使您更改了分支或关闭了文件,该文件中的CMD+Z / CTRL+Z也会恢复)