如何将git与$HOME/.gitconfig不同的配置文件一起使用?
除了我的标准如何将git与$HOME/.gitconfig不同的配置文件一起使用?,git,git-config,Git,Git Config,除了我的标准$HOME/.gitconfig,我还有一个可选的“全局”git配置文件,$HOME/.gitconfig2,我更喜欢在某些情况下使用它 我没有找到一个好方法告诉git使用$HOME/.gitconfig2而不是$HOME/.gitconfig。我能想到的最好方法是首先创建一个合适的命名符号链接,指向$HOME/.gitconfig2,如下所示: % mkdir $HOME/.githack % ln -s $HOME/.gitconfig2 $HOME/.githack/.gitc
$HOME/.gitconfig
,我还有一个可选的“全局”git配置文件,$HOME/.gitconfig2
,我更喜欢在某些情况下使用它
我没有找到一个好方法告诉git
使用$HOME/.gitconfig2
而不是$HOME/.gitconfig
。我能想到的最好方法是首先创建一个合适的命名符号链接,指向$HOME/.gitconfig2
,如下所示:
% mkdir $HOME/.githack
% ln -s $HOME/.gitconfig2 $HOME/.githack/.gitconfig
% HOME=$HOME/.githack git ...
…然后像这样调用git
:
% mkdir $HOME/.githack
% ln -s $HOME/.gitconfig2 $HOME/.githack/.gitconfig
% HOME=$HOME/.githack git ...
…从而诱使git
在$HOME/.githack
下查找.gitconfig
有更好的方法吗
另外,git
没有提供命令行标志(甚至是专用环境标志)来覆盖用户的“全局”(相对于每个存储库)配置文件的位置,是否有一个有文件证明的原因
我的猜测是,这与“自举”有关;e、 例如,为了处理其命令行标志和/或环境变量,
git
首先需要读取用户的配置文件,因此,它不能使用这些标志或环境变量中的信息来确定配置文件的位置。有几种方法可以从全局配置文件中包含配置文件:读取
如果您的“特定情况”可以是:“git存储库位于$HOME/special/projects
目录下”,您可以使用:
[includeIf "gitdir:~/special/projects/"]
path = ~/.gitconfig2
有几种方法可以从全局配置文件中包含配置文件:读取 如果您的“特定情况”可以是:“git存储库位于
$HOME/special/projects
目录下”,您可以使用:
[includeIf "gitdir:~/special/projects/"]
path = ~/.gitconfig2