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

Windows+VS Code+Git Bash下Github LFS推送PNG遇SSH连接超时报错

可落地的故障解决步骤

1. 对齐LFS上传端点与远程地址

你当前.git/config里的远程是HTTPS地址,但推送时实际走SSH连接22端口,核心原因是LFS的上传端点没有和当前远程配置匹配,自动匹配到了SSH路径。

  • 先执行git lfs env核对当前LFS指向的端点,确认输出中Endpoint项是否和你配置的https://github.com/ryan/restart.git路径一致
  • 如果端点不匹配,执行本地配置固定命令:
    git config --local lfs.url https://github.com/ryan/restart.git/info/lfs
    强制LFS走当前HTTPS远程的上传通道,绕开自动跳转SSH的逻辑。

2. 移除小文件的不必要LFS跟踪

46KB的PNG远低于GitHub普通文件100MB的上传限制,完全不需要走LFS流程,当前触发LFS上传是因为之前的全局跟踪规则把PNG后缀文件全部纳入了LFS管理。

  • 先查询当前生效的LFS跟踪规则:git lfs track
  • 找到规则列表中匹配*.png的条目,执行移除跟踪:
    git lfs untrack "*.png"
  • 把已经被错误标记为LFS对象的PNG文件从LFS暂存区重置为普通Git文件:
    git rm --cached 你要上传的PNG文件的实际路径
    重新执行git add .完成暂存
    之后执行git lfs ls-files,如果看不到刚才的PNG文件,就说明文件已经脱离LFS管理,不需要再走LFS上传流程。

3. 清理全局URL强制替换残留

之前切换为HTTPS连接后仍然走SSH,大概率是全局配置里残留了URL替换规则,会自动把所有GitHub的HTTPS请求强制转成SSH连接。

  • 先执行git remote -v核对实际生效的远程地址,如果输出仍然是SSH开头的地址,重新执行设置命令:
    git remote set-url origin https://github.com/ryan/restart.git
  • 检查并清理全局的URL替换规则,重点删除把HTTPS强制转SSH的配置:
    执行git config --global --get-regexp url.*.insteadof查看所有生效的替换规则
    对输出中类似url.git@github.com:.insteadof = https://github.com/的规则,执行对应的删除命令:
    git config --global --unset url."git@github.com:".insteadOf

4. 重新执行推送

  • 如果之前已经完成了错误的LFS提交,先执行软重置撤回最近一次提交,保留工作区文件:
    git reset --soft HEAD~1
  • 重新完成add、commit流程后执行git push,此时不会再出现LFS对象上传的卡0%进度条,也不会触发22端口的SSH连接超时错误,会直接走HTTPS通道完成小图像文件的上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 19:54:03