git Command

Git 配置和取消代理命令

Git 配置和取消 HTTP/HTTPS/SOCKS5 代理的常用命令,git config --show-origin --get-regexp proxy 找出代理配置来自 system/global/local 哪一级,http.proxy 只影响 HTTP 仓库,SSH 仓库需要单独配置 ssh ProxyCommand 或 IdentityFile。

先用 git config --show-origin --get-regexp proxy 找到代理来自哪一级配置,再决定设置或取消。

适用环境Git / HTTPS / 代理网络
风险等级
最后验证2026-06-30
建议权限普通用户

Scenario

什么时候用这组命令

这组命令适合在处理“Git 配置和取消代理命令”时作为第一轮检查模板。使用时先替换占位符,再在目标机器或目标 namespace 中执行,避免在错误环境里得到误导结论。

Input

你需要先准备什么

  • 先区分 HTTPS、SSH、代理、证书和账号权限问题。
  • 查看配置来源,确认 system/global/local 哪一级覆盖了当前仓库。
  • 保留 verbose 输出,但不要泄露 token、私钥和 Cookie。

Risk Notes

执行风险

  • 不要把私钥上传到服务器或仓库,密钥泄露会导致整个账号被攻破。
  • 不要在报错截图里暴露 token、仓库私有地址和代理凭证,这些信息会被搜索引擎索引。
  • 不要使用全局用户名和邮箱配置,避免在个人项目仓库中留下公司身份信息。

Commands

命令详解

命令 1: 执行 git

用于确认 Git/SSH 的最终配置和认证链路。注意输出中可能包含仓库地址、用户名或代理信息,分享前应脱敏。

  • 确认命令运行位置正确。
  • 保留关键输出,方便和修复后对比。
命令 1: 执行 git
git config --show-origin --get-regexp "http.*proxy|https.*proxy"

命令 2: 执行 git

用于确认 Git/SSH 的最终配置和认证链路。注意输出中可能包含仓库地址、用户名或代理信息,分享前应脱敏。

  • 确认命令运行位置正确。
  • 保留关键输出,方便和修复后对比。
命令 2: 执行 git
git config --global http.proxy http://127.0.0.1:7890

命令 3: 执行 git

用于确认 Git/SSH 的最终配置和认证链路。注意输出中可能包含仓库地址、用户名或代理信息,分享前应脱敏。

  • 确认命令运行位置正确。
  • 保留关键输出,方便和修复后对比。
命令 3: 执行 git
git config --global https.proxy http://127.0.0.1:7890

命令 4: 执行 git

用于确认 Git/SSH 的最终配置和认证链路。注意输出中可能包含仓库地址、用户名或代理信息,分享前应脱敏。

  • 确认命令运行位置正确。
  • 保留关键输出,方便和修复后对比。
命令 4: 执行 git
git config --global --unset http.proxy

命令 5: 执行 GIT_SSH_COMMAND="ssh

用于确认 Git/SSH 的最终配置和认证链路。注意输出中可能包含仓库地址、用户名或代理信息,分享前应脱敏。

  • 确认命令运行位置正确。
  • 保留关键输出,方便和修复后对比。
命令 5: 执行 GIT_SSH_COMMAND="ssh
GIT_SSH_COMMAND="ssh -o ProxyCommand=none" git ls-remote git@github.com:git/git.git

Workflow

建议执行顺序

按顺序执行,不要跳过确认类命令

先用只读命令确认状态,再执行会改变状态的命令。先用 git config --show-origin --get-regexp proxy 找到代理来自哪一级配置,再决定设置或取消。

  • 查看 system/global/local 各层代理配置来源。
  • HTTP 仓库使用 http.proxy 和 https.proxy。
  • SSH 仓库不走 Git HTTP 代理,需要配置 ssh 或代理命令。
  • 取消代理时同时检查仓库级和全局级配置。
  • 调试时用 GIT_CURL_VERBOSE 或 GIT_SSH_COMMAND 输出详细连接过程。
按顺序执行,不要跳过确认类命令
git config --show-origin --get-regexp "http.*proxy|https.*proxy"
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

把命令输出变成结论

命令本身不是结论。每次执行后要回答:目标是否存在、状态是否异常、异常是否能解释用户看到的现象。

  • 记录关键字段,而不是整屏复制
  • 把正常路径和异常路径输出对比
  • 输出为空也要解释:是确实没有,还是权限/过滤条件不对
把命令输出变成结论
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
git config --global --unset http.proxy

执行前替换占位符并控制影响范围

包含 <service>、<pod>、<namespace>、<pid>、<container> 的命令必须先替换。涉及 reload、restart、KILL、vacuum、prune 的命令要确认影响范围。

  • 优先在测试环境或只读模式验证
  • 生产执行前保留回滚路径
  • 把最终可用命令写入工单或 runbook
执行前替换占位符并控制影响范围
git config --global --unset http.proxy
GIT_SSH_COMMAND="ssh -o ProxyCommand=none" git ls-remote git@github.com:git/git.git

Verification

怎么判断命令有效

  • 命令已在正确机器、正确用户、正确 namespace 或正确仓库下执行。
  • 输出能支撑明确判断:正常、异常、权限不足、目标不存在或需要下一跳排查。
  • 对有副作用的命令,已确认执行窗口、影响范围和回滚方式。

Prevention

沉淀到日常流程

  • 为公司代理和个人代理分别维护 profile 或脚本,不混在全局配置,避免配置冲突。
  • 每个 Git 平台使用独立 SSH key 并写清 Host 别名,避免提交了错误的密钥。
  • 不要把 sslVerify=false 作为永久配置,应使用正确的 CA 证书路径解决证书问题。
  • 定期检查和轮换 Git 访问令牌,避免过期 token 导致 CI/CD 流水线中断。

常见问题

为什么设置了 Git 代理但 SSH 仓库没走代理?

http.proxy 只影响 HTTP/HTTPS 协议,git@host:path 这种 SSH 地址需要配置 SSH 代理。

Long-tail SEO

你可能正在搜索这些报错

下面这些错误原文、场景词和中英文搜索词,都是排查同类问题时常见的入口。

  • git 设置代理
  • git http.proxy 配置
  • git clone 走代理
  • git 取消代理设置
  • git socks5 代理
  • git config 全局代理