今天想 clone 一下 boost 在 github 的 repo,結果在 clone 的過程當中遇到了下面的錯誤。我本來覺得是網絡緣由,今天學校網速廢成渣了,不少同窗都去網吧擼去了,因此就 retry 了一次。仍是出現了下面的錯誤,而後就不得不 google 去了。html
$ git clone https://github.com/boostorg/boost.git
Cloning into 'boost'...
remote: Counting objects: 183543, done.
remote: Compressing objects: 100% (69361/69361), done.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
後來 google 到的參考以下:linux
特別是第一篇(第一個QA),應該跟個人狀況最爲符合,不過我嘗試了第二個 QA 中Voket 的回答給出的解決方案。由於我在 Windows 下的
Git 做的這個死。在這裏就簡單記錄一下這個解決方案。git
# 爲 git 添加配置項,經過下面的命令能夠簡單完成
# 在這以前能夠執行 git config -l 命令看看已有配置項有哪些
git config --add core.compression -1
上面是經過命令來完成的,很方便,固然能夠直接修改 .gitconfig 文件(在用戶目錄下),若是你願意的話。部份內容以下:github
[user]
name = Ggicci
email = ...
[core]
compression = -1
在 [core] 這個 section 裏面添加 compression 屬性便可。至於它的取值能夠參考 Git Config Manpage,這個頁面你能夠經過man git config
(linux) 或者 git config --help
(windows)來查看本地版本。windows
core.compression
An integer -1..9, indicating a default compression level. -1 is the zlib default. 0 means no compression, and 1..9 are various speed/size tradeoffs, 9 being slowest. If set, this provides a default to other compression variables, such as core.loosecompression and pack.compression. - From Git Manpage服務器
compression 是壓縮的意思,從 clone 的終端輸出就知道,服務器會壓縮目標文件,而後傳輸到客戶端,客戶端再解壓。取值爲 [-1, 9],-1 以 zlib 爲默認壓縮庫,0 表示不進行壓縮,1..9 是壓縮速度與最終得到文件大小的不一樣程度的權衡,數字越大,壓縮越慢,固然獲得的文件會越小。網絡
這以後再嘗試了一次 clone,works perfectly :)ide
$ git clone https://github.com/boostorg/boost.git Cloning into 'boost'... remote: Counting objects: 183543, done. remote: Compressing objects: 100% (69361/69361), done. remote: Total 183543 (delta 113990), reused 183372 (delta 113844) Receiving objects: 100% (183543/183543), 67.89 MiB | 162.00 KiB/s, don e. Resolving deltas: 100% (113990/113990), done. Checking connectivity... done.