git fetch“无法找到”“对象...未找到”的藏匿错误

时间:2012-04-03 15:24:14

标签: git git-stash

我有一个简单的备份系统,其中使用--bare创建的git克隆(可能是--mirror)每小时运行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

看起来fetch大部分都是成功的; git log <branch>显示最新的分支。但错误令人讨厌。我怎么摆脱他们?如何防止它们再次发生?

请注意,此问题与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)

1 个答案:

答案 0 :(得分:0)

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