Git 其他
git clone/push 异常排查
适用于git clone|push hangs问题
- 使用
-v
或 --verbose
显示调试日志,参考
- 添加环境变量显示更多日志
$ GIT_TRACE=1 GIT_TRACE_PACKET=1 GIT_TRACE_CURL_NO_DATA=1 GIT_CURL_VERBOSE=1 git clone/push ...
$ GIT_TRACE=1 GIT_TRACE_PACK_ACCESS=1 GIT_TRACE_PACKET=1 GIT_TRACE_PERFORMANCE=1 GIT_TRACE_SETUP=1 GIT_MERGE_VERBOSITY=1 GIT_CURL_VERBOSE=1 GIT_TRACE_SHALLOW=1 GCM_TRACE=1 git clone/push ...
常见问题:
- 网络问题:http/https proxy导致的问题,使用
git config --global
查看是否正常
- 自签证书导致的问题(
error: RPC failed; curl 35 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
),跳过证书验证 git config --global http.sslVerify false
或给当前系统安装证书C:\Program Files\Git\usr\ssl\certs\[ca-bundle.crt|ca-bundle.trust.crt]
- 认证失败
git config --global --unset credential.helper; git config credential.helper manager
ssh -Tvvv -p 22 git@github.com
- 仓库文件太大,可以将缓存
http.postBuffer
设置为 1048576000 = 1000M
git config --global http.postBuffer 1048576000
- git会卡住很长时间没有反应时,可配置
sendpack.sideband = false
# 全局配置
git config --global sendpack.sideband false
# 仓库配置
git config --local sendpack.sideband false
参考: