抵美后的Git设置
终于把这 Git 给收拾好了,我又回来啦啊哈哈哈哈!
事情是这样的,上个月,我从旧金山国际机场入境抵达美国。为什么要来阿美捏?因为咱争取到了一个来 UC Berkeley 读交换生的机会,封面就是 Berkeley 百团大战时校门口的盛况。
自从一月份飞机落地之后到现在,我都被各种各样的事情围住,忙得焦头烂额,什么房租啊、银行卡啊、电气费啊、课程申请啊。。。不太有时间写博客,但是这都还好,时间嘛,像海绵里的水,越挤越少 TAT,最重要的问题是,我的 Git 无法访问 Github 了!
问题描述
因为参加了大名鼎鼎的 CS 61B 数据结构课程,作业要求要提交到 Github 上一个指定的仓库里。当时我还心想:Git 这点事对咱不是小菜一碟嘛,且不说搞这个博客网站要部署 GithubPage,在玩博客之前我就会把我 MATLAB 的代码保存到 Github 上了,git push 一下的事情嘛。
但是,按照以前的经验和 61B 课程网站上的指导,连接到远程仓库之后,我 git push origin main
, 然后 Git 给我返回了一条错误信息:
1 | fatal: unable to access 'https://github.com/OverClock-11/MATLAB.git/': Failed to connect to 127.0.0.1 port 7890 after 2023 ms: Couldn't connect to server |
然后我又去试了试 hexo d
:
1 | fatal: unable to access 'https://github.com/OverClock-11/OverClock-11.github.io.git/': Failed to connect to 127.0.0.1 port 7890 after 2017 ms: Couldn't connect to server |
毕竟是老司机,也不是第一次遇到这个问题了。Hexo 和 Git 都出问题了,但是因为 Hexo 也是靠 Git 部署的静态网页,所以病根在 Git。
解决问题
找到病根,就要开始排错了。因为这次设置考虑了课程网站上的指导,所以有可能是课程网站的指导步骤改了我 Git 的某种配置,导致 ssh 或者端口出问题了。Github 网站很流畅就登上去了, 说明网络没问题。按照网上的方法去看端口是不是被占用,没有;重新登陆GitHub,不行;重设 SSH 密钥,不行。
搞了几天后,我突然想起,咱已经来美国了啊,换了个网络环境之后就登不上去了,按照控制变量法的思想,问题应该出在中美网络环境的差异上,也就是——代理!
输入 git config --global -l
1 | core.editor=vim --nofork |
果然代理还挂着呢,输入 git config --global --unset http.proxy
(https 的话是 git config --global --unset https.proxy
) 关掉代理,重新 git push
:
1 | Enumerating objects: 6, done. |
出现了熟悉的字样,成功!