3 回答

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的解決方案已在本地和遠(yuǎn)程為您提供工作副本,但在遠(yuǎn)程存儲(chǔ)庫決定再次重新打包時(shí)會(huì)再次導(dǎo)致問題。幸運(yùn)的是,您可以設(shè)置配置選項(xiàng),這將減少在兩個(gè)存儲(chǔ)庫中重新打包所需的內(nèi)存量 - 這些實(shí)質(zhì)上會(huì)使您在重新打包時(shí)添加到默認(rèn)選項(xiàng)中的命令行參數(shù)。因此,您應(yīng)該登錄到遠(yuǎn)程,更改到存儲(chǔ)庫并執(zhí)行:
git config pack.windowMemory 10m
git config pack.packSizeLimit 20m
您可能希望在本地存儲(chǔ)庫中執(zhí)行相同的操作。(順便說一下,我猜你的存儲(chǔ)庫非常大,或者這些是內(nèi)存很少的機(jī)器 - 這些值對(duì)我來說似乎很低。)
對(duì)于它的價(jià)值,重新包裝獲得的malloc失敗時(shí)非常過去大型的倉庫,我也改變了價(jià)值觀core.packedgitwindowsize,core.packedgitlimit,core.deltacachesize,pack.deltacachesize,pack.window和pack.threads,但它聽起來好像你不需要任何進(jìn)一步的選擇:)

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
由于無法直接訪問存儲(chǔ)庫,因此無法執(zhí)行重新打包,執(zhí)行淺層克隆然后逐漸獲取,同時(shí)增加深度對(duì)我有幫助。
git clone YOUR_REPO --depth=1
git fetch --depth=10
...
git fetch --depth=100
git fetch --unshallow //Downloads all history allowing to push from repo
希望它仍然可以幫助某人。

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
我使用以下步驟解決了這個(gè)問題。
已將存儲(chǔ)庫從服務(wù)器檢出到我的本地計(jì)算機(jī)(使用ssh上的原始副本)
重新打包本地存儲(chǔ)庫
git repack -a -d --window-memory 10m --max-pack-size 20m
在服務(wù)器上創(chuàng)建了一個(gè)空存儲(chǔ)庫
git init --bare
將本地存儲(chǔ)庫推送到服務(wù)器
檢查是否可以克隆服務(wù)器存儲(chǔ)庫
- 3 回答
- 0 關(guān)注
- 1133 瀏覽
添加回答
舉報(bào)