首页 > 解决方案 > 如何将 git 与不同于 $HOME/.gitconfig 的配置文件一起使用?

问题描述

除了我的标准之外$HOME/.gitconfig,我还有一个替代的“全局”git配置文件,$HOME/.gitconfig2我更喜欢在某些情况下使用它。

我还没有找到一个好的方法来告诉git使用$HOME/.gitconfig2而不是$HOME/.gitconfig. 我能想到的最好的方法是首先创建一个合适的命名符号链接$HOME/.gitconfig2,如下所示:

% mkdir $HOME/.githack
% ln -s $HOME/.gitconfig2 $HOME/.githack/.gitconfig

...然后git像这样调用:

% HOME=$HOME/.githack git ...

...从而欺骗git寻找.gitconfigunder $HOME/.githack

有更好的方法吗?

此外,是否有文档说明为什么git不提供命令行标志(甚至专用环境标志)来覆盖用户的“全局”(而不是每个存储库)git配置文件的位置?1


1我的猜测是,这与“自举”有关;例如,可能是为了处理它的命令行标志和/或环境变量,git首先需要读取用户的配置文件,因此它不能使用这些标志或环境变量中的信息来确定配置文件。

标签: gitgit-config

解决方案


有几种方法可以从全局配置文件中包含git help config配置文件:阅读.

如果您的“某些情况”可以是:“git 存储库位于$HOME/special/projects目录下”,您可以使用:

[includeIf "gitdir:~/special/projects/"]
    path = ~/.gitconfig2

推荐阅读