2013-01-09 264 views
3

嘗試克隆裸存儲庫並獲取以下錯誤消息。 存儲庫相當大,總大小爲3GB。我想克隆的客戶端是MacOSX。git克隆失敗,git gc

remote: Counting objects: 20118, done. 
remote: Compressing objects: 100% (16577/16577), done. 
error: pack-objects died of signal 9 3.49 MiB | 745 KiB/s  
error: git upload-pack: git-pack-objects died with error. 
fatal: git upload-pack: aborting due to possible repository corruption on the remote side. 
remote: aborting due to possible repository corruption on the remote side. 
fatal: early EOF 
fatal: index-pack failed 

我在開始時這個問題,也與

git config pack.windowMemory 5m 
git config pack.packSizeLimit 10m 

固定它像this

git的重新包裝工作的遠程主機,沒有錯誤的提及。 git gc不工作,但以下面的錯誤信息結束。

Counting objects: 20118, done. 
Delta compression using up to 2 threads. 
error: failed to run repack6551/16577) 

我該怎麼辦?

+2

你試過'git fsck'嗎? – kerim

回答

4

我有同樣的問題。設置以下參數:

[core] 
    packedGitLimit = 10m 
    packedGitWindowSize = 10m 

[pack] 
    deltaCacheSize = 10m 
    packSizeLimit = 10m 
    windowMemory = 10m 

然後重新包裝:

>混帳改裝

,最後運行git GC上的--aggressive參數:

>混帳gc --gigressive

它解決了我的問題。如果沒有參數,它不適用於我。請注意,我已經控制了服務器,並且我在服務器上的repo上運行了這些命令(在Debian機器上的Gitlab服務器實例上,以root身份,使用sudo -u git ...,以避免混淆文件所有權和權限)。如果您無法訪問遠程回購,該方法可能不適用。我的git版本是1.8.3。