我向存儲庫中添加了兩個大文件(每個150MB),現在git pull總是掛起54%。我使用ping來檢查網絡,嘗試使用另一個,我做了一個git fsck等。沒有什麼幫助。如何調試:git pull在git pull期間掛起(allways爲54%)
我該如何調試?
有沒有辦法一次只取一個大文件?問題是,我的本地Git並不知道最後的提交= - (
我向存儲庫中添加了兩個大文件(每個150MB),現在git pull總是掛起54%。我使用ping來檢查網絡,嘗試使用另一個,我做了一個git fsck等。沒有什麼幫助。如何調試:git pull在git pull期間掛起(allways爲54%)
我該如何調試?
有沒有辦法一次只取一個大文件?問題是,我的本地Git並不知道最後的提交= - (
我想你所遇到的問題是你的克隆,中間每次掰
所以,與其從頭每次連連克隆一個回購協議,我會建議你,而不是做一個新創建的回購取回。
基本上,初始化一個空庫
cd repo_name && git init
加入日e原始回購作爲遠程回購
git remote add origin url/to/repo
現在做一個git fetch
。
這樣,即使您的克隆在中間休息,fetch
也只會在下次運行時小心引入未提取的對象。
但即使從遠程存儲庫中刪除這兩個文件後,我仍然無法取出。
你用什麼方法「刪除這兩個文件」?
您需要將其從存儲庫歷史記錄中的所有提交中移除。
要做到這一點,例如參見:How to remove/delete a large file from commit history in Git repository?
要檢查您的git pull
真的停滯或只是非常緩慢:檢查你的compouter和託管中央回購服務器之間的網絡流量。
如果您有其他的方式來獲得2個大文件:從(例如,將它們複製到你的本地庫從USB記憶棒......),你可以運行git add
(不運行git commit
)這些文件的本地存儲庫,然後git reset .
將它們取消。
這應該將這些文件添加到本地回購庫中已知對象的列表中,git pull
不需要再次下載它們。
增加Git的緩衝區大小:
混帳配置--global http.postBuffer 157286400
大小應設置爲解決這一問題的最低限度。
可能是值得考慮的。['混帳annex'(http://git-annex.branchable.com/)能夠有效地管理大文件的使用。有關更多詳細信息,請參閱http://stackoverflow.com/a/6635160/429758。 –
謝謝!我絕對會爲此而努力。但即使在從遠程存儲庫中刪除這兩個文件後,我仍然無法拉出。對象的數量現在更大。然而git的凍結 –
您可以嘗試更改內存大小限制在你的混帳配置(pack.packSizeLimit core.packedGitLimit例如) – Zermingore