是否可以为不同的站点设置全局 git 配置?



想象一下你有这个 git 项目文件夹结构:

/
  • home/user/gitlab
  • /
  • home/user/github

是否可以在一个地方的某个地方定义应该相应地为其中一个路径下的所有项目配置使用证书的 git auth 逻辑?也许还有不同的用户签名?

对于访问:您可以使用~/.ssh/config文件为不同的服务器设置不同的密钥。

# in your ~/.ssh/config file :
Host github.com
IdentityFile path/to/github_key
Host gitlab.com
IdentityFile path/to/gitlab_key

设置完成后,与github.com的任何 ssh 交互(或gitlab.com) -- 例如:git clone git@github.com:repogit fetchgit push... -- 将使用github_key(或 默认情况下gitlab_key)。


对于git配置参数(例如:user.nameuser.email),您可以按照@choroba的建议使用includeIf部分(链接到文档):

# in your .gitconfig file :
[includeIf "gitdir:~/github/**"]
path = ~/path/to/github_conf_file
[includeIf "gitdir:~/gitlab/**"]
path = ~/path/to/gitlab_conf_file

并在github_conf_filegitlab_conf_file中设置user.nameuser.email值。

最新更新