问题描述
使用git pull拉取github 仓库时,报端口无法连接(2012端口是之前设置的vpn端口),重新设置了新的端口不生效,删除了也不生效
git clone https://github.com/xxxxx/react-template-simple.git
Cloning into 'react-template-simple'...
fatal: unable to access 'https://github.com/xxxxx/react-template-simple.git/': Failed to connect to 127.0.0.1 port 2012: Connection refused
尝试的解决方法
- 删除所有http,https,并验证http,https 代理已经删除
- 重启终端
- 重启电脑
git config --global --unset http.proxy
git config --global --unset https.proxy
验证过已经删除了
从你的描述中可以看出,你是从命令行运行 git 命令来 clone 代码。但因为代理问题而无法 clone。
在命令行中使用 git,排查问题要考虑到两个层面:
git 的代理是否取消
在 git 中,与代理相关的就是配置,即
git config
。在 unix-like 操作系统中软件的配置文件一般都会分为:系统(System),全局(global),本地(local)。其中的优先级为:本地 > 全局 > 系统。关于 git 的配置文件,更复杂,一共分好几层,具体内容可以看 文档
可以在项目文件夹中,使用
git config --list
来查看当前 git 仓库的所有配置项,也可以使用git config --list | grep proxy
指定查找 proxy。如果存在,就从本地 -> 全局 -> 系统一层一层查看,找出对应 proxy 的配置文件,删除即可。
命令行的代理是否取消
因为是在命令行中运行 git,命令行本身也可以设置代理。
一般情况下,命令行中都是通过环境变量来设置。你可以在命令行中输入
env
来查看所有环境变量,或者使用env | grep proxy
来指定查找 proxy。查找到 proxy 后,使用
unset [proxy_name]
删除即可。比如查找到https_proxy=127.0.0.1:2012
该环境变量设置了代理,使用unset https_proxy
来取消代理。