Windows 致命:不是git存储库-在BSoD之后

Windows 致命:不是git存储库-在BSoD之后,windows,git,Windows,Git,我正在提交,然后我的Windows(…:()机器崩溃了,给了我一个可爱的、臭名昭著的死亡蓝屏。我重新启动,然后直接回去工作,结果发现我的本地git回购出现了严重问题 “致命:不是git存储库” …嗯,这很快就升级了 我一直在阅读这个问题(这里也是关于StackOverflow),但还没有找到解决方案。我做的事情包括: git init(表示在0.1s内:重新初始化现有git存储库) git状态(给出相同的致命错误) git推送源开发(同一致命错误) git文件夹仍然存在,看起来很正常(尽管我

我正在提交,然后我的Windows(…:()机器崩溃了,给了我一个可爱的、臭名昭著的死亡蓝屏。我重新启动,然后直接回去工作,结果发现我的本地git回购出现了严重问题

“致命:不是git存储库”

…嗯,这很快就升级了

我一直在阅读这个问题(这里也是关于StackOverflow),但还没有找到解决方案。我做的事情包括:

  • git init(表示在0.1s内:重新初始化现有git存储库)
  • git状态(给出相同的致命错误)
  • git推送源开发(同一致命错误)
git文件夹仍然存在,看起来很正常(尽管我不会直接发现任何异常)

看起来我在命令行上无法执行任何操作来恢复我的存储库

我已经找到了,但我不知道如何“将HEAD更改为有效的ref/hash”

有人知道从这里去哪里吗

(我知道这个问题多次出现,但没有一个问题来源相同,它们的解决方案不起作用。如果你将这个问题标记为相同的问题,请确保它确实是重复的。)

(我是提问者。)

不幸的是,我没有时间及时解决这个问题。这个项目的压力很大,我需要继续。我决定做一个全新的检查。一切都很好


经验教训:提交时永远不要获得BSoD。

如果您提交的内容不太复杂,也许您可以对原始存储库进行新的克隆,将您的本地更改转移到该repo并从那里继续工作?这当然是一个选项,尽管我很好奇如何以“正确的方式”修复此问题。:)如果在某处(例如github上)有克隆,则可以删除.git文件夹,然后重新初始化本地文件夹,并从另一个存储库中提取。git fsck给出了什么?.git/HEAD文件中有什么?它可以打开吗?课程不是应该是“更频繁地备份”吗?也许你也可以在
.git/HEAD
中编写类似于“ref:refs/heads/master”的内容,使它再次作为git存储库被检测到。在我的系统上,我只需创建两个空目录(“objects”和“refs”)和一个带有
ref:refs/heads/something
content的小文件头,就可以手动创建Git存储库。@CharlesB不,我没有丢失任何东西。我早推了几分钟。@Sherlock对你有好处@-谢谢!将.git/HEAD文件重写到我工作的最后一个分支,省去了很多麻烦!再次感谢!