奇葩的 Git 签名错误

最近公司电脑升级后又抽风了。

在访问 Git 的时候提示了证书签名错误。

2023-05-12_09-08-22

主要提示的错误为:

git.exe fetch -v --progress "origin"
fatal: unable to access 'https://src.ossez.com/yhu-docs.git/': SSL certificate problem: unable to get local issuer certificate


git did not exit cleanly (exit code 128) (812 ms @ 5/12/2023 9:01:11 AM)

问题和原因

上面的原因文字上说是因为证书签名的问题。

我们实际访问的时候,就是公司的电脑上面有问题。

原因是公司电脑使用了一个安全工具,这个安全工具进行自签名,把访问外部网络的证书都自签名了,但是有些 CA 又不被这个自签名工具来信任。

所以唯一的办法就是跳过 https 的校验。

系统当前用户

下面这行命令的影响范围是系统当前用户。

需要注意的是,你如果没有系统的 Admin 管理员权限的话,下面这条命令会提示无权限。

git config --system http.sslverify false

全局所有用户

可以运行下面的命令,这个命令是针对全局的所有用户的,通常这个会在 Git 的进程中使用。

如果你没有管理员权限,这条命令应该也是可以执行成功的。

git config --global http.sslverify false

针对当前仓库

使用下面的命令是针对当前仓库的。

进入当前仓库的地址,然后运行下面的命令:

git config http.sslverify false

如果打开仓库的配置文件的话,我们可以看到上面的仓库配置文件只是在配置文件中添加了下面的一段话。

也可以直接打开配置文件来修改。