你如何撤销;“放弃所有更改”;在VS代码/Git中
我恐怕我已经知道答案了,不过还是来了。。 我无意中点击了VS代码(OSX)中的“放弃所有更改”,现在一个月的工作都没有了。噗的一声。问题是,我没有正确设置GIT,所以我还没有做任何提交。不管怎样,我能把工作拿回来吗?现在我的工作目录是空的 [编辑]你如何撤销;“放弃所有更改”;在VS代码/Git中,git,version-control,visual-studio-code,Git,Version Control,Visual Studio Code,我恐怕我已经知道答案了,不过还是来了。。 我无意中点击了VS代码(OSX)中的“放弃所有更改”,现在一个月的工作都没有了。噗的一声。问题是,我没有正确设置GIT,所以我还没有做任何提交。不管怎样,我能把工作拿回来吗?现在我的工作目录是空的 [编辑] 我应该澄清一下,控制台日志说它做了一个“git clean-f-q”,这意味着文件不见了。但我想知道VSCode是否有备份、历史记录或缓存。。或者别的什么。我绝望了。小结:你的作品丢失了,无法恢复 VS代码中的“全部清除”(放弃所有更改)选项基本上执
我应该澄清一下,控制台日志说它做了一个“git clean-f-q”,这意味着文件不见了。但我想知道VSCode是否有备份、历史记录或缓存。。或者别的什么。我绝望了。小结:你的作品丢失了,无法恢复 VS代码中的“全部清除”(放弃所有更改)选项基本上执行:
git clean -fd
git checkout -- .
因此,gitclean-fd
是否能够撤销对未提交更改的放弃,就取决于git了。不幸的是,更改没有存储在git中,因为它没有提交,所以在执行git clean-fd
之后,git将强制删除未跟踪的文件
执行命令后,
git checkout--.
,git会将git中所有修改过的文件作为上次提交的版本进行签出。在意外按下错误文件上的放弃更改btn后,我在这里结束)
由于没有找到恢复的方法,我在该文件中尝试了简单的CMD+Z(CTRL+Z),然后砰的一声——一切都回来了,所以不要放弃尝试:)
非常高兴我现在在GitHub桌面客户端的Windows PC上做了同样的事情。我原以为它会还原未受限制的内容,但它决定全部还原。嗯 幸运的是,我已经检查了垃圾箱,所有丢弃的文件都在那里(以及我想首先删除的不需要的文件,之后我会更仔细地处理它们,首先恢复这些文件)
不确定MacOS是否也会将它们移到垃圾箱。仔细检查,你可能会很幸运;) 如果无法使用Ctrl+Z或Command+Z撤消或在垃圾箱/回收站中找不到文件,则可以使用文件恢复软件进行恢复。我可以使用梨状肌的免费版本Recuva来恢复我意外放弃的更改。在我的情况下,我错误地放弃了分支的更改。此代码处于提交状态,但未被推送。 我转到
{projectPath}.git/logs/refs/heads/
,找到一个带有分支的文件。在这个文件中,我找到了标题列表。
然后在控制台中,我使用
git reset{commitHash}
撤消提交。我刚刚遇到了这个问题。我按下了VS代码中错误文件旁边的“放弃更改”箭头(在添加和提交之前)。我以前的文件不在回收箱中,经过研究,CTRL+Z/CMD+Z是唯一的选择。如果您已经关闭了该文件,那么您可能很不幸运气不佳。那太糟糕了,但我运气不错
我能够恢复文件,我单击了,放弃所有更改
。
毫无疑问,git没有恢复丢失的更改的选项,但我们的系统(和VScode)有
我是如何恢复这些更改的?
ctrl+p
ctrl+z
尝试撤消我的更改,猜猜看,我的系统剪贴板帮助我恢复了所有精确的更改(已删除)
简而言之,只要您没有重新启动VScode,您仍然可以恢复更改。
如果这个解决方案也适用于你,请随意投票支持我的答案。谢谢 在源代码管理上,所有项目都在那里:将项目内容检索到vs code explorer是一个问题。 答案是更改项目的视图,这样您就可以在不使用文件夹的情况下查看所有内容。
然后命令+A选择全部并按open,一旦全部打开,它们将在vs代码管理器上可用,在该文件中
在我的例子中,我在Elementy OS中丢弃了通过DDEV运行的laravel项目中的config.yaml文件,因此为了将其恢复到当前项目中,我去了垃圾桶,用ls-al显示隐藏的文件夹,然后输入隐藏文件夹,用cp命令将我需要的复制到我的项目文件夹中。可能重复,也可能重复另一个提示(不幸的是,这现在对你没有帮助,但有助于继续):未来参考,除非你正在使用PyCharm,只需使用git discard changes打开文件并点击undo,这到底意味着什么?我什么都不懂,有人能解释吗,?有什么方法可以撤销未提交的更改吗?对于通过谷歌到达这里的人来说:它已经不存在了。你唯一的希望是磁盘备份、以前的提交或回收站(Windows)/垃圾箱(OSX)。我强烈不同意这个公认的答案。正如roslyn和EFFG的回答中所述,文件可能会在VS代码上使用ctrl+Z或在垃圾箱中恢复。@ThomasVuillemin即使文件可能在垃圾箱中,问题也与git有关。事实上,这个行为本身是一个不可逆转的行为,不幸的是。@user1026622好吧,这就是问题所在:阅读这个问题似乎不仅仅是关于git的,而且是关于VS代码的,谷歌对这两个方面的研究会把你带到这里,而还有其他关于git的问题。即使git操作是不可逆的,在VS代码中执行它的特定情况下,也有方法恢复它。我认为这个问题的答案应该反映出这一点。你刚刚让我省去了一些心痛。谢谢你。在MacOS的垃圾桶中找到。这应该是accep