BitBucket Git错误:没有发送所有必要的对象

时间:2012-01-09 13:15:00

标签: git object bitbucket pull

我正在使用bitbucket和git来修改我目前正在进行的项目。今天我试图下载该项目的最新工作副本,但遇到了一个我似乎无法找到任何解决方案的错误。

$ git pull
Password for 'bitbucket.org':
remote: Counting objects: 65, done.
remote: Compressing objects: 100% (31/31) done.
remote: Total 34 (delta 19), reused 0 (delta 0)
Upacking objects: 100% (34/34), done.
fatal: bad object 4324324....(etc object number)
error: https://bitbucket.org/myusername/myproject.git did not send all necessary objects

我搜索过此错误“没有发送所有必要的对象”,但似乎没有关于此问题的任何文档,任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

“没有发送所有必要的对象”是错误的表现,而不是错误本身 有关信息,此消息来自builtin/fetch.c方法 store_updated_refs(),来电 connected.c方法check_everything_connected()。它执行

git rev-list --verify-objects --stdin --not --all
/*
 * If we feed all the commits we want to verify to this command
 *
 *  $ git rev-list --verify-objects --stdin --not --all
 *
 * and if it does not error out, that means everything reachable from
 * these commits locally exists and is connected to some of our
 * existing refs.
 *
 * Returns 0 if everything is connected, non-zero otherwise.
 */

真正的问题是在拆包阶段:

Upacking objects: 100% (34/34), done.
fatal: bad object 4324324....(etc object number)

它不应该绑定到某些BitBucket打嗝,因为它的status page is clear

所以它可能与某些腐败有关,在另一个贡献者的先前推动中添加了。如果来自任何用户的任何BitBucket repo的任何克隆产生相同的消息,您需要联系他们的支持来解决此repo。

答案 1 :(得分:0)

git pull --prune修复了我在存储库中遇到的类似错误消息。