3 回答

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

TA貢獻1860條經驗 獲得超9個贊
由于無法直接訪問存儲庫,因此無法執行重新打包,執行淺層克隆然后逐漸獲取,同時增加深度對我有幫助。
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貢獻1869條經驗 獲得超4個贊
我使用以下步驟解決了這個問題。
已將存儲庫從服務器檢出到我的本地計算機(使用ssh上的原始副本)
重新打包本地存儲庫
git repack -a -d --window-memory 10m --max-pack-size 20m
在服務器上創建了一個空存儲庫
git init --bare
將本地存儲庫推送到服務器
檢查是否可以克隆服務器存儲庫
- 3 回答
- 0 關注
- 1139 瀏覽
添加回答
舉報