前言
有時候使用git clone指令去複製大專案時,會出現一些錯誤,導致相關的專案無法複製到目的端,在本篇文章則要試著解決該問題,並成功的把專案複製回來。
出現的錯誤
假設我們需要將Docker的官方文件透過「git clone」指令複製回來的話,有可能會出現下列的錯誤:
$ git clone https://github.com/docker/docs Cloning into 'docs'... remote: Enumerating objects: 428789, done. remote: Counting objects: 100% (3343/3343), done. remote: Compressing objects: 100% (1733/1733), done. fatal: the remote end hung up unexpectedly4.66 MiB | 879.00 KiB/s fatal: early EOF fatal: index-pack failed
會出現上述的錯誤,主要都是與網路問題有關,需切換到較好的網路則可以解決該問題,但是無法的切換其他網路,則需要試著修改「git」相關的設定。
git config --global core.compression 0
試著關閉在複製專案時,複製壓縮的內容,但這會讓複製專案的過程變慢。
git config --global http.postBuffer 524288000
在複製專案時,設定並加大較大的buffer size。
再試一次之後,則可以複製專案成功了。
$ git clone https://github.com/docker/docs Cloning into 'docs'... remote: Enumerating objects: 428789, done. remote: Counting objects: 100% (3343/3343), done. remote: Compressing objects: 100% (1732/1732), done. remote: Total 428789 (delta 1911), reused 2713 (delta 1551), pack-reused 425446 Receiving objects: 100% (428789/428789), 684.88 MiB | 3.85 MiB/s, done. Resolving deltas: 100% (271801/271801), done.