git clone 失败的两种解决办法(适用于 WSL)
最近不知道北京的网怎么了,github 又上不去了。
对于我的 windows 本机,开着 clash 可以用浏览器上 github,但是 git clone 还是不行。
WSL(我的装了 ubuntu 20.04)就更不行了。
网上搜了一圈,找到了:https://zhuanlan.zhihu.com/p/659727636
考虑在本机上用第一个方法(clash 的端口是 7890,要改一下):
终端输入:
git config --global http.proxy "127.0.0.1:7890"
git config --global https.proxy "127.0.0.1:7890"
或者更改系统代理:
export http_proxy=http://127.0.0.1:7890;
export https_proxy=http://127.0.0.1:7890;
windows 的指令稍有不同:
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
原理就是让 git clone 的包走 7890 端口发。
这个方法,必须要运行着 clash 才能用(开不开系统代理都可以)。
如果想取消,终端输入:
git config --global --unset http.proxy
git config --global --unset https.proxy
unset http_proxy
unset https_proxy
本机用了这个,WSL 里也还是不行的(好像本机只是转发 WSL 的包,我还不太清楚 WSL 网络与本机网络的关系)
而且 WSL 里没有 clash,也不太好再用第一种方法。
于是用第二种方法,改 host 文件
参考下面两篇做法:
https://blog.csdn.net/qq_41579104/article/details/107200570
https://blog.csdn.net/sky_jiangcheng/article/details/130982867
windows 改
linux 则是改 /etc/hosts
hosts 文件最后加上:
140.82.121.3 github.com
199.232.69.194 github.global.ssl.fastly.net
该方法即强行改变 DNS 缓存。
也不知道为什么 DNS 上的 github.com 总是被污染。
转载注意标注出处:
转自Cold_Chair的博客+原博客地址