git是一个强大的工具,用到了很多先进的算法和设计,只不过在国内恶劣的网络环境条件下,强大的功能往往面临诡异的问题。比如常见的unexpected eof问题,或者是http2.0连接中openssl tls验证失败之类。关闭一些git功能可以有效解决这些问题:
关闭使用http2.0
git config --global http.version HTTP/1.1
关闭压缩功能
git config --global core.compression 0
要恢复压缩就使用:
git config --global core.compression 2
再有就是不拉取完整历史数据,只拉取最新的代码:
git clone --depth 1 <url>
然后再通过fetch指定tag来获取目标版本:
git fetch origin tag <version>