我正在使用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
我搜索过此错误“没有发送所有必要的对象”,但似乎没有关于此问题的任何文档,任何人都可以帮忙吗?
答案 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
修复了我在存储库中遇到的类似错误消息。