git config include:带变量的路径

问题描述

Git配置允许包含以下文件

[include]
    path = /path/to/file

我的问题是:我可以使用环境变量来指定文件名吗?像path = /etc/git/$MYVAR/gitconfig

解决方法

当Git读取配置文件时,无法解析环境变量。

might be expanded is ~中唯一的一个:

如果模式以~/开头,则~将替换为环境变量HOME的内容。

生成所需的配置(through .bashrc for instance)是一种解决方法。

,

不,那不可能。在处理配置时,Git不会评估环境变量。

有一个条件包含指令[includeIf],它允许根据存储库的位置(gitdir:)或检出哪个分支(onbranch:)来包含不同的配置。例如以下代码段:

[includeIf "gitdir:~/repos/work"]
    path = ~/repos/work/.gitconfig
您的.gitconfig中的

将使Git仅包含~/repos/work/.gitconfig下的仓库中的~/repos/work-例如~/repos/work/proj1,而不是~/repos/fun/project2。查看有关https://git-scm.com/docs/git-config#_includes

的更多信息

此功能自Git 2.13版本起可用