Git倉庫過大導致clone失敗的解決方法

2021-10-06 05:54:19 字數 2770 閱讀 4938

錯誤二本文記錄工作中遇到的clone大倉庫失敗的解決過程,以下問題與解決方案均基於https訪問。

web端檢視倉庫大小,大約1.5g左右,首先直接執行git clone,報錯如下:

remote: counting objects: 10994, done.

remote: compressing objects: 100% (3085/3085), done.

error: rpc failed; curl 56 gnutls recv error (-110): the tls connection was non-properly terminated.

fatal: the remote end hung up unexpectedly

fatal: early eof

fatal: index-pack failed

在增大postbuffer的同時,關閉ssl認證:

$ git config --global http.postbuffer 2048000000 # 設定為2g

$ git config --global http.sslverify false # 關閉sslverify

設定成功後,重新clone,錯誤依舊。

$ sudo apt-get install build-essential fakeroot dpkg-dev libcurl4-openssl-dev
2.獲取git原始碼:

$ sudo apt-get source git
若出現如下錯誤:

e: you must put some 'source' uris in your sources.list
則需要將設定->software & updates->ubuntu software->source code勾選:

若出現如下錯誤:

couldn't be accessed by user '_apt'. - pkgacquire::run (13: permission denied) [duplicate]
則需要更改許可權:

sudo chown _apt /var/lib/update-notifier/package-data-downloads/partial/
3.安裝git的依賴

$ sudo apt-get build-dep git
4.進入git目錄,重新編譯:

$ cd git-2.7.4/

$ vim ./debian/control # 將libcurl4-gnutls-dev修改為libcurl4-openssl-dev

$ vim ./debian/rules # 整行刪除test=test

$ sudo dpkg-buildpackage -***keroot -b -uc -us -j4 # 編譯

$ cd ..

$ sudo dpkg -i git_2.7.4-0ubuntu***_amd64.deb # 安裝包名字可能有所不同

執行完成如上步驟後,重新clone,發現依舊報錯,請看錯誤二。

remote: counting objects: 10994, done.

remote: compressing objects: 100% (3085/3085), done.

error: rpc failed; curl 18 transfer closed with outstanding read data remaining

fatal: the remote end hung up unexpectedly

fatal: early eof

fatal: index-pack failed

重新確認postbuffer,配置確實生效了:

暈,實在搞不定了,採取極端方法,首先clone一層:

$ git clone --depth=1
淺層clone成功後,再完整拉取:

$ git fetch --unshallow # 拉取完整當前分支

$ git remote set-branches origin '*' # 追蹤所有遠端分支

$ git fetch -v # 拉取所有遠端分支

至此,終於成功地clone了乙個完整的倉庫。

WCF傳輸過大的資料導致失敗的解決辦法

wcf服務預設是不配置資料傳輸的限制大小的,那麼預設的大小好像是65535b,這才65kb左右,如果希望傳輸更大一些的資料呢,就需要手動指定一下緩衝區的大小了。主要是為binding設定幾個最大值屬性就可以了,包括服務端和客戶端均進行設定,不過配置都是一樣的。主要是配置maxbuffersize和m...

git 將倉庫中的專案clone至本地

1.安裝git 這裡就不一一講解了 1.開啟你要放置專案的本地路徑,右鍵選擇 git bash here 2.初始化使用者名稱 git config global user.name 使用者名稱 使用者名稱修改為自己的使用者名稱 注 如果使用者名稱或郵箱輸入錯誤需要重置,使用以下命令修改 git c...

git 同步超大倉庫失敗的解決辦法

git 同步超大倉庫的時候,會報如下錯誤 git fetch error git upload pack git pack objects died with error.ib s fatal git upload pack aborting due to possible repository c...