Windows 10系统git-bash执行git push/pull等命令无限卡死,GitHub Desktop运行正常
Windows 10 64位环境Git Bash执行pull/push等命令卡死问题排查与解决方案
一、基础环境排查
- 验证Git版本:在Git Bash中执行
git --version,若使用的是老旧版本,先卸载当前版本安装Git for Windows最新稳定版,部分旧版本存在网络适配、凭证管理器相关的已知bug。 - 核对远程仓库配置:执行
git remote -v,确认当前仓库的远程地址与GitHub Desktop中配置的地址完全一致,排除地址拼写错误、协议选错的问题。
二、网络配置排查
(GitHub Desktop内置独立网络适配逻辑,不受系统Git的网络配置影响,这是两者表现不一致的核心常见原因)
- 检查Git代理配置:分别执行
git config --global --get http.proxy、git config --get http.proxy查看全局和当前仓库的代理配置,若存在无效代理(比如端口失效、地址写错),执行git config --global --unset http.proxy、git config --global --unset https.proxy清除无效全局代理,或替换为正确可用的代理地址。 - 验证基础连通性:若使用SSH协议,执行
ssh -T git@github.com测试SSH连通性;若使用HTTPS协议,执行curl https://github.com查看网络请求是否正常返回,排除网络层面不通的问题。 - 临时关闭系统防火墙、第三方安全软件测试:部分安全软件会拦截Git Bash的网络请求,但默认对GitHub Desktop放行,临时关闭后重新执行Git命令验证是否恢复正常。
三、凭证管理器排查
- 检查凭证助手配置:执行
git config --global credential.helper,若返回为空或老旧的wincred,执行git config --global credential.helper manager-core切换为新版Git凭证管理器,旧版wincred与Windows 10的适配问题常导致验证环节卡死。 - 清除无效Windows凭证:打开「控制面板→凭据管理器→Windows凭据」,删除所有GitHub相关的已存凭证,之后重新执行Git命令,按提示输入GitHub账号和个人访问token完成验证。
四、精准定位与特殊问题修复
- 执行命令时添加verbose参数查看卡顿节点:比如执行
git pull -v、git push -v,根据最后输出的日志判断卡顿发生在网络连接环节、凭证验证环节还是文件处理环节,针对性排查。 - SSH协议专属排查:若使用SSH协议拉取代码,检查
~/.ssh/config配置文件是否存在错误(比如端口配置错误、私钥路径写错),同时确认私钥文件权限未被设置为所有人可读,Windows下SSH私钥权限过高也会导致连接卡死。 - 关闭自动换行转换测试:执行
git config --global core.autocrlf false临时关闭换行自动转换,部分大文件的换行转换逻辑异常会导致操作卡死。
若以上步骤均未解决问题,可完全卸载当前Git for Windows,重启后使用默认配置重新安装即可。
内容的提问来源于stack exchange,提问作者Sumanjit Sengupta
相关产品推荐
相关产品推荐

