【问题标题】:git fetch "unable to find" "object... not found" errors for stashgit fetch “无法找到” “对象...未找到” 存储错误
【发布时间】:2012-04-03 15:24:13
【问题描述】:

我有一个简单的备份系统,其中使用--bare(可能是--mirror)创建的git 克隆每小时运行git fetch。这个想法是,如果我的工作副本发生问题,我会在克隆中备份我的工作。

这个系统很好用,但是当我运行 git fetch 时出现错误:

$ git fetch
remote: Total 0 (delta 0), reused 0 (delta 0)
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found

当我在原始存储库中查找该对象时,它是一个存储库:

$ git show 2a8c978c41
commit 2a8c978c41c362c3f0c42775c9124780a0e71e08
Merge: 808f6e4 ddc28da
Author: Russell Silva <russell.silva@blahblah.com>
Date:   Wed Feb 29 10:19:26 2012
    WIP on experimental: 808f6e4 blah blah blah

看起来抓取大部分是成功的; git log &lt;branch&gt; 显示最新的分支。但是错误很烦人。我该如何摆脱它们?如何防止它们再次发生?

请注意,这个问题与 this one 不同,在 this one 中,有人实际上想要获取存储。我不在乎我的git fetch 命令是否获取存储;如果他们不这样做也没关系。

编辑:已请求 git fetch --verbose 的完整输出:

$ git fetch --verbose
remote: Total 0 (delta 0), reused 0 (delta 0)
From /home/russell/work/russells-project
 = [up to date]      some-branch -> some-branch
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found

我更改了输出中的名称以隐藏私人信息,并删除了除“[最新]”行之外的所有行 - 有几十个,一个用于存储库中的每个分支。

另外,我的遥控器在本地文件系统上;没有通过网络访问它。

$ git remote --verbose
origin  /home/russell/work/russells-project (fetch)
origin  /home/russell/work/russells-project (push)

【问题讨论】:

  • 当有存储时它是否总是失败?也许git fetch 的详细输出会有所帮助,因为它很奇怪
  • @CharlesB:我不确定它是否总是因藏匿而失败;我必须做一些更广泛的测试。提供的git fetch 输出是命令的总输出。
  • 您可以使用git fetch --verbose获得更详细的输出
  • 另外,协议是什么?它是“原始文件”,还是 git://,还是 http://?
  • 某些东西必须以某种方式引用存储。您是否尝试过在 git 文件或至少在 .git/refs 中对存储的 SHA1 进行暴力搜索?也许这揭示了缺失的链接。

标签: git git-stash


【解决方案1】:

尝试使用一些'cache_fu'http://github.com/defunkt/cache_fu.git

【讨论】:

    猜你喜欢
    • 2016-04-27
    • 2022-09-26
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多