代码之家  ›  专栏  ›  技术社区  ›  Sinto

Git:Corrupt loose object即使在新克隆上也是如此

  •  1
  • Sinto  · 技术社区  · 7 年前

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

    现在我的问题是 :

    我在当地一家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—已满

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

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

    后来我拔出了树枝,然后又收到了损坏的信息。

    1. 我有 也试图克隆 我的分公司刚刚成立,但由于同样的错误而失败了。

    我浏览了以下链接:

    1 回复  |  直到 7 年前
        1
  •  0
  •   VonC    7 年前

    我在当地一家git分支机构工作时,突然停电,系统也关闭了

    这是一个本地事件,意味着您没有处于推动过程中,意味着对远程回购没有影响。

    降级的解决方案是再次克隆回购,并向分支机构报告您当前的修改。然后推。
    这可能意味着这一分支的历史会有轻微损失。

    但是,如果问题在 克隆 ,那么断电不仅影响了您的工作站,还影响了Git托管存储库 服务器 .

    这个 OP Sinto 确认 in the comments :

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

    推荐文章