我的git存储库以某种方式变得不稳定-我今天早上加载了msysgit,而不是在当前目录后显示分支名称,而是显示“((ref:re ...))”,'git status'将所有内容报告为新文件'git log'和'git reflog'告诉我“致命:默认修订版本为'HEAD'错误”,依此类推。
执行'git reflog --all'或'gitk --all'向我显示存储库的其余部分是完整的,但是看来我正在处理的分支刚刚消失了,这解释了为什么HEAD似乎不存在/指向任何东西。
我知道git可以保存所有各种各样的信息,并且我假设我的提交只是以某种方式被孤立了,所以是否有一些命令可以向我显示这些提交,以便我可以将HEAD重置为它们?
编辑:亲爱的。我发现'git fsck',并且'git fsck --full'报告“致命:对象03ca4 ...已损坏”。我该怎么办?
编辑:亲爱的,亲爱的。我签出了另一个分支,然后尝试使用'git checkout -b lostbranchname'重新创建具有相同名称的原始分支,并且git说“错误:无法解析引用refs / heads / lostbranchname:无错误,致命:失败锁定参考以进行更新:没有错误”。“无错误”必须是特别讨厌的错误。因此,看起来它仍在徘徊,但无法使用且无法杀死。
编辑:超级骗子哦亲爱的。我已经按照这里的建议进行了许多拆包,重新包装和替换工作:如何恢复由于硬盘故障而损坏的Git对象?,但现在我又收到另一个哈希已报告为已损坏的哈希表,其含义与“ git status”一样无害。我认为整个事情都在进行。Git非常可爱,但我不必处理这种事情。
git checkout -b lostbranchname-如果您只关心分支的名称(而不关心分支的内容),则可以手动删除(或重命名).git/refs/heads/lostbranchname-希望可以做到这一点。