解决VSCode向GitHub提交代码失败的问题(国内网络环境)

解决VSCode向GitHub提交代码失败的问题(国内网络环境)
Vc工具箱
解决 VSCode 向 GitHub 提交代码失败的问题(国内网络环境)
问题描述
在中国大陆使用 VSCode 向 GitHub 仓库提交代码时,即使开启了代理软件,仍然会遇到提交失败的情况。这是因为 VSCode 使用 Git 来提交代码,而 Git 默认不会自动使用系统代理,需要单独配置。
解决方案
方法一:配置 Git 全局代理(推荐)
这是最常用也是最简单的方法,适合大多数场景。
打开终端或命令行,执行以下命令:
1 | # 配置 HTTP/HTTPS 代理 |
实际使用示例:
1 | # 假设你的代理端口是 7890 |
如何找到代理端口号:
- 打开你的代理软件(Clash、V2Ray、Shadowsocks 等)
- 在设置中查找 HTTP 端口或 SOCKS 端口
- 常见端口号:
7890、1080、7891、10809等
方法二:只为 GitHub 设置代理
如果你不想全局使用代理,只想在访问 GitHub 时使用代理,可以使用这个方法:
1 | git config --global http.https://github.com.proxy http://127.0.0.1:7890 |
这样配置后,只有访问 GitHub 时才会使用代理,访问其他 Git 仓库不受影响。
方法三:使用 SOCKS5 代理
如果你的代理软件只提供 SOCKS5 代理(部分代理工具默认使用 SOCKS5),需要使用以下配置:
1 | git config --global http.proxy socks5://127.0.0.1:端口号 |
示例:
1 | git config --global http.proxy socks5://127.0.0.1:1080 |
常用管理命令
查看当前 Git 配置
1 | git config --global --list |
或者只查看代理配置:
1 | git config --global --get http.proxy |
取消代理配置
如果以后不需要代理了,或者想切换其他代理方式:
1 | git config --global --unset http.proxy |
使用 SSH 方式推送的额外配置
如果你使用 SSH 方式克隆和推送代码(URL 格式为 git@github.com:username/repo.git),上述 HTTP 代理配置不会生效,需要配置 SSH 代理。
Windows 系统
编辑或创建文件 C:\Users\你的用户名\.ssh\config,添加以下内容:
1 | Host github.com |
macOS/Linux 系统
编辑或创建文件 ~/.ssh/config,添加以下内容:
1 | Host github.com |
其他可能遇到的问题及解决方案
1. 网络超时
如果配置代理后仍然出现超时,可以增加 Git 的缓冲区大小和超时时间:
1 | git config --global http.postBuffer 524288000 |
2. 代理软件设置
确保代理软件的设置中:
- 开启了「允许来自局域网的连接」或类似选项
- HTTP 代理端口处于监听状态
- 没有设置仅代理特定应用(排除了 Git)
3. 防火墙问题
检查 Windows 防火墙或安全软件是否拦截了 Git 的网络请求。
4. 验证代理是否生效
配置完成后,可以通过以下命令测试:
1 | git ls-remote https://github.com/username/repo.git |
如果能正常显示分支信息,说明代理配置成功。
完整操作流程
确认代理端口:打开代理软件,记下端口号(如 7890)
配置 Git 代理
:
1
git config --global http.proxy http://127.0.0.1:7890git config --global https.proxy http://127.0.0.1:7890
验证配置
:
1
git config --global --list
重启 VSCode:关闭并重新打开 VSCode
测试提交:尝试提交代码到 GitHub
总结
在国内使用 VSCode 向 GitHub 提交代码时,代理软件无法直接为 Git 提供代理服务,需要手动配置 Git 的代理设置。最简单的方法是使用 git config 命令配置全局 HTTP 代理,配置完成后记得重启 VSCode 使配置生效。
如果使用 SSH 方式推送代码,还需要额外配置 SSH 代理。根据实际情况选择合适的配置方法,就能顺利解决提交失败的问题。






