ARM Linux环境Git Clone无报错但未克隆内容的排查求助
问题分析与排查建议
从你提供的Git trace日志来看,克隆命令卡在了启动git-remote-https进程这一步,既没有报错输出,也没有创建目标文件夹,结合同网络其他机器能正常克隆的情况,大概率是你的本地机器在HTTPS连接或Git组件层面出了问题,下面是具体的原因分析和排查步骤:
可能的故障原因
- HTTPS连接层面的隐性问题:比如本地代理配置残留、系统根证书缺失,导致Git的HTTPS客户端无法建立有效的SSL连接,进程因此挂起。
- Git HTTPS辅助程序异常:你使用的Git 2.20.1是2019年的旧版本,
git-remote-https这个组件可能存在已知bug,或者依赖的curl库版本不兼容,导致无法正常发起请求。 - 本地安全规则拦截:机器上的防火墙、SELinux或其他安全工具,可能拦截了Git的HTTPS请求,导致进程无法继续执行。
可执行的排查操作
用curl直接测试仓库连接
先跳过Git,直接用curl访问仓库的Git服务接口,确认网络和SSL是否正常:curl -v https://github.com/vysheng/tg.git/info/refs?service=git-upload-pack- 如果curl也卡住或报错(比如SSL证书错误、连接超时),说明问题出在网络/SSL层面;
- 如果curl能正常返回带有Git相关内容的响应,那问题就聚焦在Git本身。
检查并清理Git代理配置
有时候残留的代理配置会导致HTTPS连接异常,执行以下命令查看全局代理:git config --global --get http.proxy git config --global --get https.proxy如果有输出内容,先取消代理配置再重试克隆:
git config --global --unset http.proxy git config --global --unset https.proxy尝试SSH协议克隆
绕开HTTPS的问题,改用SSH协议克隆(前提是你已经在GitHub上配置了SSH密钥):git clone git@github.com:vysheng/tg.git如果SSH克隆成功,基本可以确定是HTTPS相关的配置或组件问题。
检查并更新系统SSL证书
对于armv7l架构的Linux系统,可能存在根证书缺失的情况,尝试安装/更新证书包:# 以Debian/Ubuntu为例,其他发行版替换为对应包管理器命令 sudo apt-get update && sudo apt-get install ca-certificates sudo update-ca-certificates完成后重新执行克隆命令。
升级Git版本
旧版本的Git可能存在已知的HTTPS客户端bug,尝试升级到较新的稳定版本(比如2.40+),再测试克隆。临时关闭本地安全工具排查
临时关闭防火墙(比如sudo ufw disable或sudo systemctl stop firewalld),或者将SELinux设置为宽容模式:sudo setenforce 0之后重试克隆,如果成功,说明是安全规则拦截了请求,再针对性调整规则即可。
内容的提问来源于stack exchange,提问作者Thomas




