1

我的 Git 存储库声称存在损坏的对象:运行git fsck --full表示存储库中有损坏的松散对象。由于对象已损坏,我无法使用 解压缩它git cat-file -t,但删除文件会导致 fsck 仅报告:

broken link from tree 93e54230ef...
            to tree 5aec4ad...
missing tree 5aec4ad...

我认为这个丢失的树是唯一丢失的文件,或者说没有悬空提交/blob,因为运行git ls-tree 93e54230ef...只显示一行:040000 tree 5aec4ad... android. 此外,损坏文件的最后修改日期是昨天,从那时起我没有进行任何更改。不幸的是,我检查了我拥有的这个存储库的克隆,但它们都没有打包或解包丢失的对象。

如何在没有悬空提交或 blob 的情况下重建丢失的 git 树?

4

1 回答 1

2

当 Git 中缺少的只是一棵树时,解决方案就是使用write-tree

git write-tree

执行该命令后,Git 存储库应恢复到以前的状态。

于 2012-07-24T21:58:02.427 回答