Git损坏的主分支

MrJ*_*rJD 9 windows windows-7 git visual-studio-2010

我在 Windows 7 上使用 gitExtensions 为 Visual Studio 项目打开我的 Git 存储库。一下子就空了。存储库存在,但我所有的提交都消失了。

我正在使用图形界面,我相信这是自他们更新以来我第一次打开它。

我不确定如何取回我的提交。

当我打字

git log 
Run Code Online (Sandbox Code Playgroud)

我收到

致命:错误的默认修订版“HEAD”

更新
在查看/sf/ask/108178521/ 后我试过了

git fsck

它返回:

错误:无效的 HEAD
致命:松散对象 36b7d9e1ca496bcb864c0b9c8671fcec97fbda31(存储在 .git/obj ects/36/b7d9e1ca496bcb864c0b9c8671fcec97fbda)

提交回报:

错误:无法解析引用 HEAD:没有这样的文件或目录
致命:无法锁定 HEAD 引用

并记录主分支返回

$ git log master 警告:忽略损坏的 ref refs/heads/master。警告:忽略损坏的 refs/heads/master。致命:模棱两可的参数“master”:未知版本或路径不在工作树中。使用“--”将路径与修订分开

我会继续粘贴可能相关的内容

$ git reflog master
警告:忽略损坏的 ref refs/heads/master。
警告:忽略损坏的 refs/heads/master。
致命:模棱两可的参数“master”:未知版本或路径不在工作树中。
使用“--”将路径与修订分开

更可能有用的信息:每次我删除损坏的文件时,都会有另一个文件取而代之。我开始认为这与 master 分支指向错误的事情或某事有关。因为我假设头部指向主人。

一天后:
所以我让我的伙伴注意到了这一点,他能够浏览日志,他说日志中的哈希与文件夹中的对象不匹配。他尝试将 master 分支重置为日志或类似的东西,我有点迷路了。希望那有帮助

hea*_*vyd 1

听起来您的存储库已损坏。最简单的方法是从备份中恢复存储库或从原始源重新克隆存储库(假设存储库中没有大量工作)。

如果重新排序/克隆不是一个选项,我建议您阅读Pro Git(免费在线书籍或纸质版本)。整本书内容非常丰富,但特别要看看最后一章,以了解 Git 的内部工作原理。一旦您了解了 Git 的工作原理,请查看 Linus关于恢复损坏对象的说明