【问题标题】:git server error: corrupt loose object on remotegit服务器错误:远程损坏的松散对象
【发布时间】:2016-02-18 20:51:18
【问题描述】:

我有一个错误响应 git fsck --full 这是corrupt loose object '...' 在 git 服务器机器上。 我没有本地存储库。我无法克隆。我在 repo/objects/...中没有对象...

您对如何解决此问题有任何想法吗? 该对象不在 repo.git/objects 目录中。 我可以在服务器机器中 ssh。

非常感谢任何建议。 谢谢

编辑

我试过了

git gc --prune

但我收到同样的错误

error: inflate: data stream error (invalid distance code) error: corrupt loose object '4e4c................' fatal: object 4e4c............. is corrupted error: failed to run repack

编辑 2

git gc --aggressive --prune=now

给了我同样的错误 还有

git gc --aggressive --prune=all

git ls-tree 4e4cc....

我有同样的错误

编辑 3

我找到了最后一次提交的本地仓库(10GB),我可以推送到远程(20GB)。我也可以从那个地方拉。为什么它们的大小不同?我仍然无法克隆...而且 obj 4e4c............. 不在 .git/objects/ 中

【问题讨论】:

    标签: git server git-pull git-clone git-fsck


    【解决方案1】:

    我已经解决了这个问题。 Git 存储一个像 4e4cfe... 这样的对象,创建一个目录 4e (ex.repo/objects/4e/) 并将对象 4cf3... 放在该目录中。我正在寻找对象 4e4cfe...,当然,我找不到它。但是该对象已损坏,但我在本地存储库中找到了一个好对象(在 git fsck --full -v 之后),我只是将它复制到远程存储库中。所以最后要解决这个问题,你需要一个简单的“复制和粘贴”。

    【讨论】:

      【解决方案2】:

      我认为它是一个损坏的对象。虽然很慢,但是你可以试试这个代码:

      git gc --aggressive --prune=now
      

      还有一个由 Linus Torvalds 编写的关于类似错误和重建 blob 的文档:click here.

      【讨论】:

      • 它给了我同样的错误。我读过这篇文章,但事实并非如此。
      • 有类似的帖子,看看这个看看有没有帮助,stackoverflow.com/questions/4254389/git-corrupt-loose-object
      • 我已经阅读了那个答案,老实说它没有帮助,而且链接 Scott Chacon 的 Git Screencasts 不起作用。我如何“从这些对象推断树对象的结构”(cit)?我在 .git/objects/.. 中没有对象。
      猜你喜欢
      • 2011-05-14
      • 1970-01-01
      • 2011-05-09
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-03
      • 2016-11-24
      • 1970-01-01
      相关资源
      最近更新 更多