GitHub 仓库改名后本地同步与连接超时问题解决记录


最近给仓库换了个名字,顺手把几个子域名也整理了一下。没想到在 VSCodium 里一推送,直接报错,折腾了一会儿才搞定。记录一下。

GitHub 仓库改名后本地同步与连接超时问题解决记录

最近给仓库换了个名字,顺手把几个子域名也整理了一下。没想到在 VSCodium 里一推送,直接报错,折腾了一会儿才搞定。记录一下。

问题现象

Git: fatal: unable to access 'https://github.com/yosoroQ/1.git/' : Failed to connect to github.com:443 after 21109 ms: Could not connect to server

仓库已经改名为 box-inventory,但本地还在往旧的 1.git 推送。更奇怪的是,浏览器访问 GitHub 和 Google 都正常,但 Git 操作却超时了。

问题拆解

这个报错实际上是两个问题叠加在一起:

  1. 本地远程地址还指向旧仓库名
  2. 网络到 GitHub 的延迟过高(20000ms 以上),导致连接失败

网页能打开不代表 Git 能顺畅传输数据。网页访问的数据量小,对延迟不敏感;而 git push 需要传输打包后的数据,对网络稳定性要求高得多。

解决方案

第一步:更新远程地址

先看一眼当前远程地址指向哪里:

git remote -v

确认指向了旧仓库后,改成新的:

git remote set-url origin https://github.com/yosoroQ/box-inventory.git

再确认一遍:

git remote -v
# origin  https://github.com/yosoroQ/box-inventory.git (fetch)
# origin  https://github.com/yosoroQ/box-inventory.git (push)

改完之后,地址问题解决了,但推送依然超时。

第二步:解决网络延迟

尝试了几个方法,最后有效的组合是:

1. 调整 Git 缓冲区配置

git config --global http.postBuffer 524288000
git config --global http.maxRequestBuffer 100M
git config --global core.compression 9

这三个参数分别解决大文件传输中断、请求缓冲区过小、以及数据压缩的问题。压缩级别调到 9 后,传输数据量能减少 30%-50%。

2. 检查代理设置

如果有代理,需要让 Git 走代理:

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

如果没用代理但之前配置过,要取消掉:

git config --global --unset http.proxy
git config --global --unset https.proxy

3. 测试连接

git ls-remote origin

能列出分支信息,说明网络通了。

第三步:正常推送

git push -u origin main

成功。

总结

这次遇到的是两个问题,改完地址之后网络还是不通,折腾了一会儿才想到可能是缓冲区的问题。Git 默认的缓冲区只有 1MB,对于稍大一点的项目就容易超时中断。把 http.postBuffer 调到 500MB 之后就好了很多。

另外,网页能访问 GitHub 不代表 Git 能稳定连接,这个问题以前也遇到过几次,这次算是彻底理清楚了。

附:Git 远程地址相关命令

# 查看当前远程地址
git remote -v

# 修改远程地址
git remote set-url origin <新地址>

# 添加新的远程仓库
git remote add origin <地址>

# 删除远程仓库
git remote remove origin

附:网络相关配置

# 查看当前 Git 配置
git config --global --list

# 取消代理设置
git config --global --unset http.proxy
git config --global --unset https.proxy

# 设置缓冲区大小(单位字节)
git config --global http.postBuffer 524288000

封面

声明:三二一的一的二|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - GitHub 仓库改名后本地同步与连接超时问题解决记录


三二一的一的二