众所周知,有些网站在大陆是不存在的。GitHub 近年来越来越难访问,许多人都是通过魔法来使用的。
近期耕读君在 VS Code 中推送更新到 GitHub 时,常常遇到 “fatal: unable to access ‘https://github.com/…’: Failed to connect to github.com port 443 after XXXXX ms: Timed out” 的问题,在此分享一下解决方案。
首先,从报错信息可以看出来,是本地和 GitHub 网络连接的问题。难道是 GitHub 服务器出了问题?想啥呢,人家家大业大,全球都在用它,别人咋没有这个问题?既然连不上,那就设置代理吧!
由于平时我都是用 VS Code,所以我一开始尝试设置 VS Code 的代理,结果并无卵用。后一琢磨,VS Code 不过是提供了一个和终端交互的界面,实际是 git 在和 GitHub 打交道,所以应该设置 git 的代理才对。
于是在终端里设置 git 的全局代理:
git config --global http.proxy socks5://192.168.7.10:7891
git config --global https.proxy socks5://192.168.7.10:7891
上面两行代码设置 git 的全局 http 和 https 代理,用的是 socks5 协议。实际操作时将代理服务器信息改成你的就行。
改完后再尝试推送,一切就都顺利了。
如果要取消 git 的全局代理设置,只需执行以下命令:
git config --global --unset http.proxy
git config --global --unset https.proxy