2012-01-09 1247 views
5

我正在使用bitbucket和git來修改我目前正在處理的項目。今天,我試圖拉下項目的最新工作副本,但遇到了一個錯誤,我似乎找不到任何解決方案。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 

...我已經尋找這個錯誤「沒有把所有必需的對象」,但並不似乎對這個問題的任何文檔誰能幫助嗎?

回答

4

「沒有發送所有必要的對象」是錯誤的表現形式,而不是錯誤本身。
有關信息,此消息來自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) 

它不應該被捆綁到一些到位桶打嗝,因爲它的status page is clear

因此,它可能與一些腐敗有關,在另一個貢獻者以前的推動期間增加。如果任何用戶的BitBucket回購的任何克隆產生相同的消息,您需要聯繫支持人員以解決此回購問題。