为 git 设置代理

往往 git 并不会使用系统代理这时需要手动指定 git 使用 ${protocol}://localhost:${port} 作为代理服务器

如果使用的是 Clash可以在设置中找到 Clash 提供的 socks5 与 http 端口

使用下面的命令设置全局 git 的代理

$ git config --global http.proxy ${protocol}://localhost:${port}

git 的配置有三个级别systemglobal与local分别对应系统当前用户与当前仓库

也可以指定只对某些地址使用代理例如https://github.com

$ git config --global http.https://github.com.proxy ${protocol}://localhost:${port}

需要注意的是实际上 git 的代理配置并不存在 https.proxy 选项可以从 git 的文档中查看更多与此相关的内容https://git-scm.com/docs/git-config#Documentation/git-config.txt-httpproxy

如果 git 的代理设置并没有按预期运行可以使用下面的命令查询 git 的所有配置查看是否有冲突的配置使用 git config --global --unset xxx 取消冲突配置

$ git config --global --list

另外可以使用下面的命令查询某一项配置例如http.proxy

$ git config --global --get http.proxy

使用正则表达式匹配所有包含 proxy 字段的配置如果代理设置是针对某一个地址的直接使用上面的查询命令将会查询不到对应的结果

$ git config --global --get-regexp ^.*proxy.*$