You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下git-bash偶发未发送Authorization头导致git操作认证失败

针对Git for Windows 2.32.0间歇性HTTP认证失败问题的解决方案
  • 该问题是Git for Windows 2.32.x版本的已知Bug,核心原因是内置的curl库对WWW-Authenticate响应头的解析逻辑存在偶发异常,遇到不规范的头字段顺序或者自定义头时会跳过认证重试流程。
  • 第一优先级修复方案:直接升级Git for Windows到2.37.1及以上版本,该版本已经合并了curl的相关修复补丁,认证重试逻辑和Linux版本对齐。
git update-git-for-windows
  • 如果暂时无法升级,可以通过修改Git配置强制每次请求都携带认证头,跳过首次无认证试探步骤:
git config --global http.emptyAuth true

如果只需要针对单个仓库生效,去掉--global参数在仓库目录下执行即可。

  • 额外排查项:检查Gogs服务端返回的401响应头是否包含多个WWW-Authenticate字段,或者存在非标准的认证挑战字段,旧版本Git for Windows遇到多认证挑战时会偶发选择错误的认证方式导致直接终止请求。如果存在该情况,可以调整Gogs配置只返回Basic认证挑战,避免多余的NTLM、Negotiate等认证头。
  • 验证方式:配置完成后执行GIT_CURL_VERBOSE=1 git fetch查看请求日志,确认所有请求都携带Authorization头,不会出现首次无认证请求直接返回401终止的情况。

内容的提问来源于stack exchange,提问作者blueFast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:36:03