对开发者来说,GitHub 几乎是每天都要访问的平台。无论是 clone 开源项目、pull 团队仓库,还是 push 自己的代码,都离不开稳定的网络。但很多用户发现:浏览器能打开 GitHub,快连也显示已连接,可在终端执行 git clone 却一直卡在“Receiving objects”,或者 push 时提示“Connection timed out”。问题往往不在快连本身,而在于 Git 没有正确使用快连代理。
Git 支持多种传输协议,常见的有 HTTPS 和 SSH。不同协议走代理的方式不同,配置位置也不同。再加上命令行、IDE、Git Credential Manager 等多种环境,代理配置容易被忽略或冲突。快连官网(kenlandd.com.cn)技术团队将在本文中,从 Git 的两种协议讲起,分别给出 HTTPS 代理、SSH 代理、全局与仓库级配置、IDE 配置、验证方法和常见问题排查,帮助你把 clone、push、pull 全流程都走通快连。
一、先分清Git的两种传输方式
Git 访问远程仓库主要有两种方式:HTTPS 和 SSH。它们在代理配置上完全不同,不能混为一谈。
| 对比项 | HTTPS | SSH |
|---|---|---|
| 仓库地址示例 | https://github.com/user/repo.git |
[email protected]:user/repo.git |
| 认证方式 | 账号密码 / Token | SSH Key |
| 代理配置 | Git 的 http.proxy / https.proxy | SSH 的 ProxyCommand 或系统代理 |
| 常见问题 | Token 失效、代理未生效 | 22 端口被封锁、Key 未加载 |
如果你 clone 时用的是 https:// 开头的地址,就属于 HTTPS 方式;如果是 git@ 开头,就是 SSH 方式。先确认自己用的是哪种,再对应配置。
二、准备:确认快连代理端口
在配置 Git 之前,先确认快连的本地代理端口。打开快连电脑版,进入“设置”或“高级设置”,查看“本地代理端口”或“HTTP 代理端口”,常见有 7890、1080、8080 等。记下端口号,后续配置会用到。
如果你还没有安装最新版快连电脑版,建议前往快连下载页面获取最新客户端。新版本通常会在设置中更清晰地展示代理端口,并优化本地代理的兼容性。
另外,建议先确认快连处于连接状态,并且浏览器能正常访问 GitHub。如果浏览器都打不开,先解决快连连接问题。可以参考《快连电脑版连接不上怎么办?》进行排查。
三、HTTPS方式:配置Git的HTTP/HTTPS代理
1. 全局配置
最直接的方式是给 Git 设置全局代理。打开终端(Windows 可用 Git Bash 或命令提示符),执行:
git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890
将 7890 替换为快连实际端口。配置后,所有 HTTPS 方式的 Git 操作都会走快连代理。
2. 只为GitHub配置代理
如果不想让所有 Git 仓库都走代理,可以只针对 GitHub:
git config --global http.https://github.com.proxy http://127.0.0.1:7890
这样只有访问 github.com 的请求走代理,访问公司内网 Git 仓库不受影响。对于同时使用内网和外网仓库的开发者,这种方式更合适。
3. 取消代理配置
如果以后不需要代理,或者代理配置错误导致 Git 无法访问,可以取消:
git config --global --unset http.proxy git config --global --unset https.proxy
只想取消 GitHub 专属代理,可以使用 --unset http.https://github.com.proxy。
4. 查看当前配置
执行 git config --global --list,可以查看当前所有全局配置,确认代理是否已设置。也可以执行 git config --global --get http.proxy 单独查看。
四、SSH方式:配置SSH走代理
SSH 方式不使用 Git 的 http.proxy 配置,而是通过 SSH 客户端自身的配置。GitHub 的 SSH 默认使用 22 端口,部分网络会封锁 22 端口,导致连接超时。可以通过配置 ProxyCommand,让 SSH 走快连的 SOCKS5 或 HTTP 代理。
1. 确认快连提供SOCKS5代理
部分快连版本同时提供 HTTP 和 SOCKS5 代理。如果只有 HTTP 代理,SSH 的 ProxyCommand 可以使用 connect 或 nc 转发。Windows 下 Git for Windows 自带了 connect.exe,路径通常在 Git\mingw64\bin\connect.exe。
2. 编辑SSH配置文件
SSH 配置文件位于 ~/.ssh/config(Windows 下通常是 C:\Users\用户名\.ssh\config)。如果文件不存在,可以新建。添加以下内容:
Host github.com
HostName github.com
User git
ProxyCommand connect -H 127.0.0.1:7890 %h %p
这里的 -H 表示使用 HTTP 代理,127.0.0.1:7890 是快连的 HTTP 代理地址。如果使用 SOCKS5 代理,可以改为 connect -S 127.0.0.1:1080 %h %p。保存后,SSH 访问 GitHub 就会走快连代理。
3. 使用443端口的SSH
如果 22 端口被封锁,可以改用 GitHub 的 443 端口 SSH 服务:
Host github.com
HostName ssh.github.com
Port 443
User git
ProxyCommand connect -H 127.0.0.1:7890 %h %p
这样 SSH 连接走 443 端口,更不容易被网络限制。
4. 测试SSH连接
执行 ssh -T [email protected],如果返回“Hi 用户名! You've successfully authenticated”,说明 SSH 代理配置成功。如果提示超时,检查快连是否连接、端口是否正确、ProxyCommand 路径是否可用。
五、IDE与图形化工具的代理配置
很多开发者使用 VS Code、IntelliJ IDEA、SourceTree 等工具操作 Git。这些工具底层通常调用系统 Git,但部分工具有自己的代理设置,需要单独确认。
1. VS Code
VS Code 的 Git 功能默认使用系统 Git 的配置。只要 Git 全局代理配置正确,VS Code 中的 clone、pull、push 通常会自动走代理。如果 VS Code 中仍然超时,可以在设置中搜索“proxy”,确认没有覆盖 Git 代理。VS Code 自身的扩展下载、更新走的是系统代理,与 Git 代理是两套机制。
2. IntelliJ IDEA / WebStorm
JetBrains 系列 IDE 在“Settings → Appearance & Behavior → System Settings → HTTP Proxy”中有独立的代理设置。这里配置的是 IDE 自身访问网络的代理,与 Git 命令行代理不同。如果 IDE 内 Git 操作失败,先确认系统 Git 代理是否生效,再检查 IDE 的 Git 路径是否指向正确的 Git 可执行文件。
3. SourceTree / GitHub Desktop
SourceTree 在“工具 → 选项 → 网络”中提供代理设置,可以填写快连的 HTTP 代理。GitHub Desktop 通常跟随系统代理,如果系统代理已由快连设置,一般无需额外配置。如果遇到问题,可以在工具设置中手动指定代理。
六、验证代理是否生效
配置完成后,建议通过以下方法验证:
- clone测试:执行
git clone https://github.com/octocat/Hello-World.git,观察是否能正常拉取。如果速度明显提升,说明代理生效。 - verbose模式:执行
GIT_CURL_VERBOSE=1 git clone ...,可以看到 Git 底层的网络请求,确认是否连接到了代理端口。 - 查看配置:执行
git config --global --list,确认代理配置存在且端口正确。 - SSH测试:执行
ssh -T [email protected],确认 SSH 能正常认证。 - IP查询:在终端执行
curl -x http://127.0.0.1:7890 ipinfo.io,查看出口 IP 是否为快连节点 IP。
如果验证失败,先检查端口是否正确、快连是否连接、配置是否保存。对于 SSH 方式,还要确认 ~/.ssh/config 文件路径和权限是否正确。
七、常见问题与排查
1. 配置了代理但git clone仍然超时
首先确认 clone 的地址是 HTTPS 还是 SSH。HTTPS 地址需要 http.proxy 配置,SSH 地址需要 SSH config 配置,两者不通用。其次确认端口号和快连实际端口一致。最后检查是否有其他代理配置覆盖,例如系统环境变量 http_proxy、https_proxy 可能影响 Git 行为。
2. git push提示认证失败
认证失败与代理无关,通常是 Token 过期、权限不足或 SSH Key 未加载。HTTPS 方式需要在 GitHub 设置中生成 Personal Access Token,并使用 Token 作为密码。SSH 方式需要确认公钥已添加到 GitHub,且 ssh-agent 已加载私钥。
3. SSH连接22端口超时
部分网络封锁 22 端口。可以按照本文第四节的方法,改用 ssh.github.com 的 443 端口。这样既能绕过端口封锁,又能通过 ProxyCommand 走快连代理。
4. 公司内网Git仓库无法访问
如果全局配置了 http.proxy,访问公司内网 Git 仓库时也会走代理,导致失败。建议只针对 GitHub 配置代理,或者使用 no_proxy 环境变量排除内网地址。更精细的控制可以参考《快连电脑版分域名分流规则编写入门》中的思路。
5. VS Code中Git操作不走代理
VS Code 可能使用了内置 Git 或不同的 Git 路径。可以在 VS Code 设置中搜索“git.path”,确认指向系统 Git。也可以在 VS Code 终端中执行 git config --global --list,确认代理配置对当前环境可见。
6. WSL2中Git不走代理
WSL2 有独立的网络环境,Windows 上的 Git 代理配置不会自动继承。需要在 WSL2 中单独配置 Git 代理,或者设置 WSL2 的 http_proxy 环境变量。具体方法可以参考《快连电脑版WSL2子系统代理设置教程》。
7. 代理配置后Git速度仍然很慢
速度受节点质量、仓库大小、本地网络影响。可以尝试更换快连节点,选择延迟低、负载低的节点。对于大仓库,可以使用 --depth 1 浅克隆减少数据量。如果问题持续,可以参考《快连电脑版节点延迟高怎么办?》进行优化。
八、最佳实践与注意事项
- 先确认协议再配置:HTTPS 和 SSH 的代理配置不同,不要混用。
- 优先只代理GitHub:避免影响公司内网和其他 Git 服务。
- 记录配置命令:把 git config 命令和 SSH config 内容记录下来,换机时快速恢复。
- 定期检查Token和Key:认证失败往往与代理无关,先排查认证。
- 保持客户端更新:新版本可能优化代理端口和局域网访问,建议从快连下载页面获取最新版本。
- 分层排查:先确认浏览器能访问 GitHub,再确认 Git 代理配置,最后确认认证,避免盲目重装。
九、总结
Git 与 GitHub 的加速配置,核心是分清 HTTPS 和 SSH 两种传输方式,分别配置代理。HTTPS 方式通过 git config 设置 http.proxy,SSH 方式通过 ~/.ssh/config 的 ProxyCommand 走代理。再加上 IDE 和 WSL2 等环境的单独确认,基本可以覆盖日常开发的所有场景。
如果你在配置过程中遇到问题,或者想了解更多快连使用技巧,欢迎访问快连技术博客,或联系快连官方客服获取支持。快连技术团队会持续输出实用教程,帮助大家在开发环境中稳定、高效地使用快连。