Mac终端及VSCode终端执行git pull/clone无响应,求排查方案
Git Pull/Clone无响应的原因分析与排查方案
可能的原因
- Git网络配置异常:比如错误设置了HTTP/HTTPS代理,或SSH配置文件(
~/.ssh/config)中的Host规则冲突,导致连接请求卡住无反馈 - 版本兼容性问题:旧版Git与最新Mac系统(如Sonoma)存在进程挂起的兼容性bug
- 第三方网络拦截:即使关闭系统防火墙,第三方安全软件、残留VPN进程仍可能暗中拦截Git的网络请求
- 仓库地址/权限问题:SSH地址书写错误(如缺失
.git后缀、Host别名无效),或私有仓库权限配置异常但未返回错误提示 - 僵死进程残留:之前异常终止的Git进程未完全退出,占用资源导致新操作无法启动
排查方法
- 测试SSH基础连通性:执行
ssh -T git@github.com(替换为你的Git服务器域名,如gitlab.com),直接验证SSH握手是否正常,若有报错可定位核心问题 - 检查Git网络配置:运行
git config --list --show-origin,排查是否存在异常的http.proxy/https.proxy配置,如需清除可执行git config --unset --global http.proxy和git config --unset --global https.proxy - 清理僵死Git进程:执行
ps aux | grep git列出所有Git相关进程,若发现状态为Z(僵死)的进程,用kill -9 [进程ID]强制终止后重试操作 - 切换连接协议测试:将SSH地址替换为HTTPS地址(如
git clone https://github.com/username/repo.git),或反之,验证是否为单一协议的问题 - 更新Git版本:通过Homebrew执行
brew upgrade git,或从Git官网下载最新安装包,排除版本兼容性bug - 诊断网络链路:用
traceroute github.com(替换为你的Git服务器)查看网络链路断点;或用nc -zv github.com 22测试SSH端口(22)是否能正常连通 - 启用Git调试日志:执行
GIT_TRACE=1 git pull或GIT_SSH_COMMAND="ssh -vvv" git pull,输出详细调试信息,定位操作卡在哪个环节(如SSH握手、仓库协商) - 验证仓库权限:检查Git服务器(如GitHub/GitLab)上的SSH密钥是否正确添加,确认当前账号拥有目标仓库的访问权限
内容的提问来源于stack exchange,提问作者gusti
相关产品推荐
相关产品推荐

