git clone 比較大的工程時(shí),經(jīng)常遇到以下報(bào)錯(cuò)
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解決方法:
0.配置git的超時(shí)時(shí)長(zhǎng),單位為秒
git config --global http.timeout 300
1.嘗試增加git的緩存大小,單位為byte。(設(shè)置一個(gè)G)
git config --global http.postBuffer 1048576000
2.git添加compression配置選項(xiàng)
compression 是壓縮的意思,取值為 [-1, 9],-1 以 zlib 為默認(rèn)壓縮庫(kù),0 表示不進(jìn)行壓縮,1~9 是壓縮速度與最終獲得文件大小的不同程度的權(quán)衡,數(shù)字越大,壓縮越慢,最后得到的文件會(huì)越小
git config --global core.compression -1
3..配置git的最低速度
git config --global http.lowSpeedLimit 0
4.配置git小于最低速度的等待時(shí)長(zhǎng),單位為秒
如果速度小于http.lowSpeedLimit并且時(shí)間超過(guò)http.lowSpeedTime鏈接就會(huì)斷開(kāi)
git config --global http.lowSpeedTime 999999
注1:git不同版本對(duì)緩存大小支持不一致,設(shè)置大小后,需觀察拉取代碼時(shí),git是否報(bào)錯(cuò) 緩存區(qū)超出長(zhǎng)度范圍
注2:配置緩存區(qū)大小后,如果工程明明小于緩存區(qū),仍然報(bào)這個(gè)錯(cuò),那就配置最低速度和最低速度等待時(shí)長(zhǎng)。