You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试Git push/pull运行状态?WSL2远端操作无响应怎么排查

Git远端操作卡住问题排查方法

前置校验

首先确认远端仓库配置正确,执行命令查看origin地址:
git remote -v
确认地址拼写、协议(SSH/HTTPS)符合预期。

1. 开启全量调试日志获取运行细节

执行以下命令配置环境变量后,再运行卡住的pull/push命令,即可输出完整的执行过程日志:

# 通用Git调试参数,输出执行流程、数据包交互、性能统计
export GIT_TRACE=1 GIT_TRACE_PACKET=1 GIT_TRACE_PERFORMANCE=1
# 若为SSH协议仓库,追加SSH调试参数,输出完整握手过程
export GIT_SSH_COMMAND="ssh -vvv"
# 若为HTTPS协议仓库,追加CURL调试参数,输出请求全链路日志
export GIT_CURL_VERBOSE=1

通过日志可直接定位卡住的环节:是DNS解析阶段、TCP连接阶段、权限校验阶段还是数据传输阶段。

2. 网络链路排查

  • 测试到GitHub的基础连通性:
    ping github.com -c 5
    若出现丢包、100%失败,首先排查DNS解析问题。
  • 测试对应端口连通性:
    • SSH协议(端口22):执行nc -zv github.com 22 或者 ssh -vvvT git@github.com
    • HTTPS协议(端口443):执行nc -zv github.com 443
      若端口测试直接卡住/失败,说明网络链路被防火墙、运营商或者代理策略拦截。

3. WSL2专属问题排查

WSL2存在已知的网络适配缺陷,在Windows开启防火墙、VPN、代理时极易出现网络异常,可通过以下操作获取更多信息:

  • 查看WSL2默认DNS配置:cat /etc/resolv.conf,可临时替换为公共DNS验证是否为DNS问题:
    sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
  • 临时关闭Windows侧防火墙,验证是否为防火墙拦截了WSL2的出站请求。
  • 若Windows侧开启了代理,检查WSL2内是否配置了对应的代理环境变量,代理配置不匹配会直接导致连接无响应。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:27:03