如何在github中恢复提交并在VS代码中恢复文件

如何在github中恢复提交并在VS代码中恢复文件,git,github,visual-studio-code,git-commit,Git,Github,Visual Studio Code,Git Commit,所以我是github的初学者,了解提交和所有工作方式。长话短说,我以为我删除了项目中的每个文件,但现在在源代码管理中有了“更改”。我不太确定该做什么以及如何找回我原来的项目 我真的需要帮助,我真的很绝望。我本想放弃更改,但显示所有文件将被永久删除的消息非常令人畏惧。如果运行git status,您会得到什么?这通常是了解存储库当前状态的最佳方法 如果问题像删除所有文件一样简单,那么这应该是一个简单的解决方法。您可以运行git reset--hard HEAD,这会将您重置为最近的提交。这将恢复自

所以我是github的初学者,了解提交和所有工作方式。长话短说,我以为我删除了项目中的每个文件,但现在在源代码管理中有了“更改”。我不太确定该做什么以及如何找回我原来的项目


我真的需要帮助,我真的很绝望。我本想放弃更改,但显示所有文件将被永久删除的消息非常令人畏惧。

如果运行
git status
,您会得到什么?这通常是了解存储库当前状态的最佳方法

如果问题像删除所有文件一样简单,那么这应该是一个简单的解决方法。您可以运行
git reset--hard HEAD
,这会将您重置为最近的提交。这将恢复自上次提交以来删除的任何内容。您将丢失自上次提交以来所做的任何工作(但如果文件确实已被删除,那么您可能已经丢失了该工作)

如果您想进一步返回并实际擦除最后一次提交,那么可以使用
git reset--hard HEAD~1
。如果您继续这样做,您将继续通过提交后退并从分支中删除它们。请小心,仅删除要使用的提交

使用
git log
查看提交历史记录,这样您就知道自己在哪里,也知道要删除哪些提交。除非确定要删除,否则不要删除任何内容。默认情况下,
git log
尝试向您显示整个提交历史记录,这可能包含太多的信息。我喜欢使用
git log--oneline-n5
,它以压缩的单行形式显示最后5次提交

(重要问题:文件真的丢失了吗?你能在文件浏览器中看到它们吗?)

我只通过命令行使用过Git,所以我不熟悉VisualStudio界面。这意味着我不能就左边的“更改”列提供建议

我对您收到的错误消息感到非常困惑,尽管“不是有效的对象名:HEAD”。这似乎很奇怪。头部应始终有效;它只意味着“当前签出的任何提交”

对不起,我帮不上忙了。但是发布“git状态”的结果可能有用


(顺便说一句,您的项目是在任何地方备份的吗?例如Gitlab或Github?如果是这样,那么有时只需擦除整个本地目录并从远程服务器还原它就很容易了。)

您似乎需要重置本地存储库的HEAD

您可以使用Git重置命令

git重置


如果你想了解更多关于

文件浏览器中的文件实际上丢失了,所以我开始恐慌,我想我只是删除了我的整个项目。但是非常感谢你的帮助,很抱歉浪费了我的时间。这将是一个很好的参考以后。谢谢