【发布时间】:2021-08-11 17:48:28
【问题描述】:
我的电脑死机了,现在我的一个 git 存储库坏了。当我尝试结帐时它告诉我:
warning: ignoring broken ref refs/heads/master.
error: Your local changes to the following files would be overwritten by checkout:
com.vainolo.jdraw2d.releng.p2/pom.xml
Please, commit your changes or stash them before you can switch branches.
Aborting
当我执行git stash 时,我得到:
fatal: bad revision 'HEAD'
fatal: bad revision 'HEAD'
fatal: Needed a single revision
You do not have the initial commit yet
那么……我该怎么办?
更新
git reflog的输出:
fatal: bad default revision 'HEAD'
不是很有希望...git fsck 的输出:
error: Invalid HEAD
Checking object directories: 100% (256/256), done.
error: unable to unpack 59551f96b4e87a1c14293c19eb548ce6fa1f196f header
error: inflateEnd: stream consistency error (no message)
fatal: loose object 59551f96b4e87a1c14293c19eb548ce6fa1f196f (stored in .git/objects/59/551f96b4e87a1c14293c19eb548ce6fa1f196f) is corrupt
【问题讨论】:
-
您能否检查
.git/refs/heads/master是否存在以及其内容是否是您的存储库的有效提交哈希(您可以检查,例如使用git show <hash>)? -
我知道这很明显,但仍然在问 - 你有同一个 git repo 的远程仓库吗?
-
@poke
.git/refs/heads/master/的内容是一堆^@ -
@Tuxdude 是的,但没有更新到我的最新更改
-
git reflog告诉你什么?你试过运行git fsck吗?
标签: git