Git:即使在新克隆上,“损坏的松散对象”

时间:2018-12-01 09:54:57

标签: git terminal linuxmint corrupt

在开始之前,我想告诉大家,这看起来像是一个重复的问题,但是我已经尝试了所有这些并且仍然面临该问题。

现在我的问题是

我突然在本地git分支中工作,电源关闭且系统关闭。稍后,当电源恢复时,我试图拉开我的分支,并显示一条消息:

../bug_11677 $ git pull
error: object file ./objects/3f/5774584d2f00d4adf0a82b5e2be0feee5c894a is empty
error: object file ./objects/3f/5774584d2f00d4adf0a82b5e2be0feee5c894a is empty
fatal: loose object 3f5774584d2f00d4adf0a82b5e2be0feee5c894a (stored in ./objects/3f/5774584d2f00d4adf0a82b5e2be0feee5c894a) is corrupt

我已经尝试过:

  1. 删除git索引并尝试通过保留文件中的更改来重置:

    git reset --keep

  2. 尝试删除git对象文件夹:

    find .git/objects/ -type f -empty | xargs rm

    git fetch -p

    git fsck --full

  3. 尝试以下一种方法:

    rm -f .git/objects/3f/5774584d2f00d4adf0a82b5e2be0feee5c894a

    git fsck --full

当我尝试最后一个时,它显示:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (342770/342770), done.
Checking connectivity: 342315, done.

后来我拉了分支,然后又收到了损坏的消息。

  1. 也尝试过新克隆我的分支,但是由于相同的错误而失败。

我已经浏览了以下链接:

1 个答案:

答案 0 :(得分:0)

  

我在本地git分支中工作,突然电源关闭且系统关闭

这是一个本地事件,这意味着您不在中间,这对远程回购没有影响。

降级的解决方案是再次克隆存储库,并将您当前的修改报告给分支机构。然后推。
那可能意味着该分支上的历史记录稍有丢失。

但是,如果问题在克隆期间仍然存在,则停电不仅会影响您的工作站,还会影响Git托管存储库 server

OP Sinto确认in the comments

  

我已经致电服务器技术人员并检查了问题。
  他说那是服务器中损坏的Git文件,现在已经从服务器端修复了。