在 gitlab 和 github 之间切换 git 全局配置

Switching git global config between gitlab and github

在我工作的地方,我们有一个托管的 gitlab,它需要 clietn ssl 证书才能允许连接。这已在 git 全局配置中配置,所以我的 ~/.gitconfig 并且运行良好。客户端证书请求仅在反向代理级别。不过,我们仍然使用 username/password 作为凭据。

[http]
   sslCert = /Users/xuser/gitlab_ssl/xxx.crt
   sslKey = /Users/xuser/gitlab_ssl/xxx.key

现在每次我需要从 github 克隆时,我都会得到 could not load PEM client certificate, LibreSSL error error:02001002:system library:fopen:No such file or directory, (no key found, wrong pass phrase, or wrong file format?)

我尝试使用 -c git -c http.sslCert="" -c http.sslKey="" clone https://github.com/xxxxx 覆盖配置,但它不起作用。我尝试使用别名,但我没有看到任何在顶级配置上使用别名的东西,比如 git.

中的 [http] 块

有没有办法: 1 - "git clone bla bla" 使用公司 gitlab 2 - "git everythingelse clone bla bla" 哪个不尝试加载客户端证书?

提前致谢。

更改您的配置
[http]

[http "https://gitlab.com"]

这将使这些配置设置仅适用于指向 GitLab 的 URLs。其他 URL,如 GitHub 将不受此块中配置更改的影响。如果您通过不同的 URL 访问托管的 GitLab,只需将 URL 放入配置中即可。