GitHub上git push命令执行后终端挂起,无法推送代码至远程仓库
可能的原因及解决方向
先看你执行的git push命令及输出:
% git push -u origin main Enumerating objects: 13, done. Counting objects: 100% (13/13), done. Delta compression using up to 4 threads Compressing objects: 100% (9/9), done. Writing objects: 100% (11/11), 4.49 MiB | 1.10 MiB/s, done. Total 11 (delta 2), reused 0 (delta 0)
出现写入对象后挂起的情况,常见原因及解决方向如下:
权限验证停滞:如果用HTTPS协议推送,终端可能因交互限制未弹出账号密码验证窗口;用SSH协议的话,可能密钥配置错误、未添加到远程仓库,导致验证环节卡住。
解决:换用SSH协议并检查密钥是否已在远程仓库配置;HTTPS方式可手动在终端输入验证信息,或配置git config --global credential.helper store记住凭证。网络连接异常:网络不稳定、远程仓库服务器响应延迟,导致后续的提交确认步骤无法完成。
解决:检查网络连通性;设置Git超时时间:git config --global http.timeout 300,或增大推送缓冲区:git config --global http.postBuffer 524288000;换稳定网络重试。本地与远程仓库状态不一致:远程仓库存在本地未同步的提交,部分场景下不会直接报错而是陷入等待。
解决:先执行git pull origin main拉取远程更新,处理可能的冲突后再重新推送。Git本地缓存或配置损坏:本地Git的缓存文件异常,导致流程卡住。
解决:执行git gc --prune=now清理本地缓存;备份后重置异常的Git配置项。
内容的提问来源于stack exchange,提问作者Ureka
相关产品推荐
相关产品推荐

