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

VS2022 Git UI操作GitLab分支遇证书信任错误求助

解决VS2022 Git UI访问GitLab的证书信任错误

问题场景

在VS2022的Git UI中推送或拉取GitLab远程功能分支时,输出窗口弹出以下错误:

Git failed with a fatal error.
unable to access '':
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_UNTRUSTED_ROOT

已尝试执行全局Git配置命令但无效果:

git config --global http."<my gitlab server url>".sslCAInfo C:/path/to/cert.pem

仅VS2022的Git UI操作会触发该错误,使用Git Bash或PowerShell终端操作则完全正常。

解决方案

1. 确认VS2022使用的Git路径

VS2022可能自带独立的Git实例,而非系统全局Git,这会导致全局配置不生效:

  • 打开VS2022,依次点击「工具」→「选项」→「源代码管理」→「Git全局设置」
  • 查看「Git可执行文件路径」,示例路径:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd\git.exe

2. 给VS2022集成的Git单独配置证书

针对VS2022使用的Git实例,直接在仓库本地配置证书:

  1. 打开VS2022的「终端」面板,切换到当前仓库目录
  2. 执行本地配置命令(替换为你的GitLab地址和证书路径):
git config http."<my gitlab server url>".sslCAInfo C:/path/to/cert.pem

或者手动修改仓库根目录下的 .git/config 文件,添加以下内容:

[http "<my gitlab server url>"]
    sslCAInfo = C:/path/to/cert.pem

3. 将GitLab根证书导入Windows系统证书存储

VS2022的Git UI可能依赖Windows系统的证书信任链,而非Git的sslCAInfo配置:

  1. 打开GitLab网站,点击地址栏的锁图标→「查看证书」→「证书路径」标签
  2. 选择最顶层的根证书,点击「查看证书」→「详细信息」标签→「复制到文件」
  3. 按向导导出为「Base-64编码的X.509 (.CER)」格式,保存到本地
  4. 双击导出的CER文件,点击「安装证书」→选择「本地计算机」→「将所有证书放入下列存储」→「浏览」→选择「受信任的根证书颁发机构」→完成导入

4. 强制VS2022使用系统全局Git

如果上述方法无效,可让VS2022使用终端中正常工作的Git版本:

  • 回到VS2022的「Git全局设置」页面,点击「浏览」选择系统全局Git的路径(示例:C:\Program Files\Git\cmd\git.exe)
  • 重启VS2022后测试推送/拉取操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 11:27:00