问:如何解决以下错误?
error: refs/heads/gh-pages does not point to a valid object!
error: refs/remotes/origin/gh-pages does not point to a valid object!
error: refs/stash does not point to a valid object!
git status
和git log
都可以正常使用
我删除了以下文件以释放一些空间,因为它是一个巨大的2GB
,因为我认为它是我提交的一个巨大的2GB
文件的一部分,并试图用{{1}删除}}。我认为这是它的最后痕迹。
bfg
使用rm ./.git/objects/pack/pack-bec4156621c0ce105abeedad0878eedf59f10a31.pack
我得到了下面的输出,但我对进行可能影响我的实际存储库内容的更改持谨慎态度。
$GIT_TRACE=1 git pull
答案 0 :(得分:1)
你不应该删除任何.pack文件,这些文件会包含很多你的提交。由于它已被删除,因此您丢失了许多提交,包括refs/heads/gh-pages
指向的提交。如果您已将所有本地引用推送到另一个仓库,则可以将其取回或进行另一次克隆。但是,如果你还没有,也许你需要一些工具来恢复硬盘中已删除的数据。
通常Git会在commit
中存储松散的对象(包括tree
,blob
,annotated tag
和.git/objects/
)。例如,如果存在sha1为1daa24d58e28ee48365d594e90ebb215ddd47809
的提交,则可以将其设为.git/objects/1d/aa24d58e28ee48365d594e90ebb215ddd47809
。为了进一步节省空间,Git将它们打包到.pack
和.idx
,并通过.git/objects/pack
通过git gc
将其存储在{{1}},这是手动或自动运行。