【问题标题】:Fixing the Git error "error: unable to find"修复 Git 错误“错误:无法找到”
【发布时间】:2012-08-14 16:55:53
【问题描述】:

我在执行git pull origin master 时收到以下错误。

error: Unable to find a47058d09b4ca436d65609758a9dba52235a75bd under http://myweb.com/myapp.git
Cannot obtain needed blob a47058d09b4ca436d65609758a9dba52235a75bd
while processing commit 041d57dd5bed9d6c75fe7cce944b2b2904ae3a62.
error: Fetch failed.

直到几分钟前,一切都运行良好。我没有做任何不寻常的事情。我一直在做我通常的提交推拉,现在我突然收到这个错误。

这个错误是什么意思?解决/纠正此错误的步骤是什么?

【问题讨论】:

  • 这是一个已知会掩盖其他问题的问题。例如。您的存储库是否有足够的磁盘空间?
  • 如何检查 repo 上的磁盘空间?我有一个 ubuntu linux 服务器。服务器的容量为 82%。我可以毫无问题地为我的其他项目推送和拉取我的其他存储库。这有助于诊断问题吗?
  • 你有直接访问远程仓库(源)的权限吗?
  • 通过直接访问,这是否意味着 SSH 进入 /var/lib/git/myapp.git ?如果是这样,那么是的。我可以使用 shell 命令来操作裸存储库中的文件。

标签: git


【解决方案1】:

Adam said一样,从另一个存储库/克隆中恢复对象。

不要忘记考虑包。所以,一个更通用的过程是这样的:

在“完整”的 Git 数据库上:

git cat-file -p a47058d09b4ca436d65609758a9dba52235a75bd > tempfile

在接收端:

git hash-object -w tempfile

【讨论】:

  • 这似乎有效,但我多次收到此类错误。我需要恢复多少这样的对象?
【解决方案2】:

从您的目录 (.git/objects) 和其他在此存储库的克隆上工作的人复制对象。一个对象被击毁了,所以这应该可以解决它。

这里有更多关于移动物体的信息:The Object Database

【讨论】:

    猜你喜欢
    • 2022-09-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2015-07-24
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多