返回

如何在 Windows 中解决 Git LFS “证书由未知机构签名” 错误?

windows

解决 Git LFS Windows 下的“证书由未知机构签名”错误

引言

对于 Windows 用户,Git Large File Storage (LFS) 可能会遇到“证书由未知机构签名”的错误。这是因为 Git LFS 默认不使用 Windows 证书存储,导致无法验证 HTTPS 连接。本文将详细介绍如何将 Git LFS 配置为使用 Windows 证书存储,从而解决此问题。

解决方案

步骤 1:安装 Git LFS 驱动程序

首先,下载并安装 Git LFS 驱动程序。这将允许 Git LFS 与 Windows 证书存储交互。

步骤 2:设置环境变量

接下来,设置 GIT_SSL_CAINFO 环境变量,指向包含 Windows 证书存储的 CA 捆绑包文件。对于 Windows 10 及更高版本:

setx GIT_SSL_CAINFO "%ProgramData%\Microsoft\Crypto\CA\TrustedRootCertificates\cacert.pem"

对于 Windows 8 及更早版本:

set GIT_SSL_CAINFO "%SystemRoot%\System32\Wbem\Repository\CADB.dll"

步骤 3:重新启动 Git

设置环境变量后,关闭并重新启动 Git Bash 或其他 Git 客户端。

验证

要验证 Git LFS 是否正在使用 Windows 证书存储,请执行以下命令:

git lfs env

输出中应该包含以下行:

SSL CA File: %ProgramData%\Microsoft\Crypto\CA\TrustedRootCertificates\cacert.pem

其他提示

  • 如果问题仍然存在,请检查 CA 捆绑包文件是否存在且可访问。
  • 确保你的 Git 版本是最新的。
  • 如果使用代理服务器,请确保已正确配置。

结论

通过将 Git LFS 配置为使用 Windows 证书存储,你可以消除“证书由未知机构签名”错误。这将使 Git LFS 能够访问 Windows 中受信任的 CA 捆绑包,从而验证 HTTPS 连接。

常见问题解答

  1. 为什么 Git LFS 默认不使用 Windows 证书存储?
    答:Git LFS 是一个跨平台工具,而 Windows 证书存储只适用于 Windows 操作系统。默认情况下,Git LFS 使用平台无关的方式来验证 HTTPS 连接。

  2. 我如何检查我的 CA 捆绑包文件?
    答:要检查 CA 捆绑包文件,请导航到其存储位置(见上文)。如果文件不存在或损坏,则需要重新安装或更新。

  3. 如何更新我的 Git 版本?
    答:打开 Git Bash 或其他 Git 客户端,然后执行以下命令:

    git update-remote -v
    
  4. 如何正确配置代理服务器?
    答:代理服务器配置取决于服务器类型。请查阅特定代理服务器的文档以获取详细说明。

  5. 如果我仍然遇到问题怎么办?
    答:请联系 Git LFS 支持团队或在 GitHub 上报告问题。