你如何撤消"放弃所有变化"在VS Code / Git中

时间:2017-04-21 11:07:38

标签: git version-control visual-studio-code

我担心我已经知道了答案,但无论如何...... 我不小心点击了#34;放弃所有更改"在VS Code(OSX)中,现在一个月的工作已经一去不复返了。噗' d。事实是,我没有正确设置GIT所以我还没有完成任何提交。无论如何我可以恢复工作吗?现在我的工作目录和空白一样好。

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

13 个答案:

答案 0 :(得分:9)

那太可怕了,但是我有些幸运!

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

我如何恢复这些更改?

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

如果您正在处理一个新文件,则该文件现在已被删除且没有占用空间。您仍然可以恢复文件,只需按ctrl+p,即已经在VScode中打开了标签为(deleted)的coz文件。

简而言之,只要您没有重新启动VScode,您仍然可以恢复所做的更改。 如果该解决方案也对您有效,请随时对我的回答进行投票。谢谢!!

答案 1 :(得分:6)

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

VS代码中的全部清除(放弃所有更改)选项基本上执行:

git clean -fd
git checkout -- .

因此,git clean -fd可以撤消丢弃未提交的更改,这是git的手。遗憾的是,由于未提交更改,因此未将更改存储在git中,因此在执行git clean -fd之后,git将强制删除未跟踪的文件。

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

答案 2 :(得分:4)

不小心按下后,放弃在错误的文件上更改btn,我在这里结束了) 没有找到还原的方法,我已经在该文件中尝试了简单的CMD + Z(CTRL + Z),并且繁荣起来-一切都回来了,所以不要放弃并尝试:) 很高兴

答案 3 :(得分:2)

我现在在Windows PC上的GitHub Desktop客户端中做了同样的事情。我以为它将还原UNCOMMITED,但是它决定全部还原。嗯。

对我来说幸运的是,我已经检查了垃圾箱,所有被丢弃的文件都在那里(以及不想要的文件以及我想首先删除的不想要的文件一起删除,之后我更仔细地删除了这些文件,首先还原了这些文件) 。

不确定MacOS是否还将它们移至“废纸rash”。仔细检查,您可能很幸运;)

答案 4 :(得分:2)

请查看下面的屏幕截图,您可以在其中放弃所有更改,也可以一项一项进行。

enter image description here

答案 5 :(得分:1)

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

答案 6 :(得分:0)

就我而言,我错误地放弃了分支中的更改。此代码未提交就提交蝙蝠。 我去{projectPath}.git/logs/refs/heads/并找到一个带有分支的文件。在此文件中,我找到了标题列表。 然后在控制台中,我使用git reset {commitHash}撤消提交。

答案 7 :(得分:0)

我刚遇到这个问题。我在VS Code中错误的文件旁边按下了“放弃更改”箭头(添加和提交之前)。我以前的文件不在回收站中,经过研究后,CTRL + Z / CMD + Z是唯一的方法。如果您已经关闭文件,那么可能很不幸。

答案 8 :(得分:0)

在源代码控制中,所有项目都存在:将项目内容检索到vs资源管理器是问题。 答案是更改项目的视图,以便您可以查看没有文件夹的所有内容。 然后使用命令+ A选择全部,然后按打开,一旦全部打开,它们将在vs代码浏览器中可用

答案 9 :(得分:0)

该文件中的

CMD + Z / CTRL + Z 将恢复,即使您更改了分支或关闭了文件)

答案 10 :(得分:0)

就我而言,我已经从我通过 DDEV 运行的 Laravel 项目中丢弃了 Elementory OS 中的 config.yaml 文件,因此为了将其恢复到我当前的项目中,我去了垃圾箱并使用 ls -al 来显示隐藏文件夹,然后进入隐藏文件夹,用cp命令将我需要的东西复制到我的项目文件夹中。

答案 11 :(得分:0)

请安装插件本地历史记录https://marketplace.visualstudio.com/items?itemName=xyz.local-history

如果您没有在 git 中提交文件/更改,则无法恢复文件/更改,除非您在本地缓存更改

答案 12 :(得分:0)

我错误地丢弃了一个新文件更改,在选择列表中找不到 cmd+p,最后我恢复了新文件,但它仅适用于某些情况另一个保留文件路径引用的文件,我通过单击 import xxx from ./xxx/losted_File.js 使用另一个文件路径引用,文件返回(删除),我保存删除的文件,文件恢复。