最近嘻哈在 push 代码到 GitHub 的时候遇到点麻烦,这里记录一下。
大家都知道,访问 GitHub 有时候不是直线到达的,需要通过一个“中间节点(proxy node)”来帮忙转发,就像手机信号弱的时候,需要基站中转才能顺利打通电话一样。
在 Mac 上配置代理其实很直观:
系统偏好设置 → 网络 → 高级 → Proxies,里面可以勾选 HTTP、HTTPS、SOCKS 等代理,填上 server 和 port,点 OK 就行。
这样一来,Safari、Chrome 这些浏览器都会乖乖走代理,访问 GitHub 没问题。
但是问题来了——Git 这个小伙子不买账。
明明已经在系统里设置好代理了,结果一 push 代码,Git 依然直连 GitHub,然后就报错:
fatal: unable to access ‘https://github.com/…’:
Failed to connect to github.com port 443
> 看起来就像嘻哈说:“走这边啊!”
> Git 回:“不用,我自己有路!”
结果一头撞墙。
—
于是嘻哈只好手动提醒 Git:“喂,大哥,你得走别的路!”
命令如下:
git config –global http.proxy socks5://192.168.1.X:10999
git config –global https.proxy socks5://192.168.1.X:10999
这样配置好之后,Git 才会乖乖通过 SOCKS5 走向 GitHub,push 终于顺利完成了 🎉
当然啦,后续还有一些情况:
如果换了节点地址或端口?
再敲一次 `git config` 覆盖掉就行。
如果某天不想走代理?
直接用:
git config –global –unset http.proxy
git config –global –unset https.proxy
就能恢复“直连模式”。
如果只想在某个项目里用代理?
把 `–global` 换成 `–local` 就行,这样只在当前仓库生效。
小结一下
* Mac 系统代理能照顾浏览器,但 Git 默认不认。
* 得亲自告诉 Git 走代理,push 才能成功。
* 切换和删除配置都很简单,但是容易忘记,可以Mark一下
欢迎转载:注明转载出处就好:):嘻哈小屋 » 在 Mac 上如何让 git 使用proxy代理?解决 git push失败问题
嘻哈小屋







