You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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请求,导致进程无法继续执行。

可执行的排查操作

  1. 用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本身。
  2. 检查并清理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
    
  3. 尝试SSH协议克隆
    绕开HTTPS的问题,改用SSH协议克隆(前提是你已经在GitHub上配置了SSH密钥):

    git clone git@github.com:vysheng/tg.git
    

    如果SSH克隆成功,基本可以确定是HTTPS相关的配置或组件问题。

  4. 检查并更新系统SSL证书
    对于armv7l架构的Linux系统,可能存在根证书缺失的情况,尝试安装/更新证书包:

    # 以Debian/Ubuntu为例,其他发行版替换为对应包管理器命令
    sudo apt-get update && sudo apt-get install ca-certificates
    sudo update-ca-certificates
    

    完成后重新执行克隆命令。

  5. 升级Git版本
    旧版本的Git可能存在已知的HTTPS客户端bug,尝试升级到较新的稳定版本(比如2.40+),再测试克隆。

  6. 临时关闭本地安全工具排查
    临时关闭防火墙(比如sudo ufw disablesudo systemctl stop firewalld),或者将SELinux设置为宽容模式:

    sudo setenforce 0
    

    之后重试克隆,如果成功,说明是安全规则拦截了请求,再针对性调整规则即可。

内容的提问来源于stack exchange,提问作者Thomas

火山引擎 最新活动