执行git push推送代码到GitHub长时间卡住无响应如何解决?
Git push 长时间无响应排查方案
- 验证GitHub连通性
如果你使用SSH协议连接仓库,执行ssh -T git@github.com测试连通性;如果使用HTTPS协议,执行curl -I https://github.com测试。如果命令返回超时或报错,说明当前网络无法正常访问GitHub,可优先排查网络代理、防火墙规则、运营商访问限制等问题。 - 检查Git代理配置
执行如下命令查看是否配置了无效的Git代理:
如果返回了不存在或不可用的代理地址,执行以下命令清除配置后重试:git config --global --get http.proxy git config --global --get https.proxy
如果你需要走代理访问GitHub,可替换为你本地可用的代理地址。git config --global --unset http.proxy git config --global --unset https.proxy - 检查本地提交内容
执行git status确认本地提交状态正常,再执行git log --stat查看最近的提交记录,确认没有误将大文件加入提交队列(即使你本次只新增了小txt文件,也可能存在之前未推送的大体积提交卡在队列中)。如果存在误提交的大文件,可执行git reset HEAD~1回退最近一次提交,整理提交内容后重新push。 - 定位卡住的具体环节
执行带详细日志的push命令,查看具体卡在哪个步骤:git push --verbose
同时可以调大Git的HTTP传输缓存,避免小概率的缓存不足问题:git config --global http.postBuffer 524288000 - 切换远程连接协议
如果当前使用HTTPS协议一直卡住,可切换为SSH协议重试,反之亦然。修改远程仓库地址的命令为:git remote set-url origin <你的仓库对应协议的地址>
内容的提问来源于stack exchange,提问作者Hiếu Nguyễn
相关产品推荐
相关产品推荐

