今天早上,当我抬起笔记本电脑的屏幕时,我的 Windows 10 崩溃并重新启动。没有特殊事件在进行,所以我认为没有重要的磁盘事件。
但是,我的一个主要 Git 存储库在重置后崩溃了。这是我尝试过的:
$ git status
致命:不是 git 存储库(或任何父目录):.git$ git 初始化
重新初始化现有的 Git 存储库在....../.git/$ git status
致命:不是 git 存储库(或任何父目录):.git- 循环
我不认为我有未推送的提交,所以从远程删除和克隆应该可行。
不过,在这种情况下,我能问一下如何恢复现有的 Git 存储库(.git
目录仍然存在,chkdsk
报告正常)吗?
[添加]阅读this但不适用于我的情况(我无法恢复 repo 协议(protocol))
最佳答案
作为kabanus said in a comment ,您绝对应该在继续之前尽可能保存任何内容(和/或使用其他一些现有的克隆作为备份)。
不过,当 Git 对此报错时,通常意味着文件 .git/HEAD
已经丢失。如果您创建一个包含以下内容的新 HEAD
文件:ref: refs/heads/master
,Git 可能能够恢复所有内容。
由于 HEAD
是存储库中最活跃的文件,因此它是最有可能被操作系统错误或电源故障破坏的文件。当涉及到 Git 是否认为 .git
目录是存储库时,它也是一个关键文件:如果该目录包含名为 HEAD
的文件(以及其他一些关键项),它是一个存储库;如果不是,则它不是存储库。
关于windows - 操作系统重置后 "Not a git repository",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40907497/