问题描述
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版本起可用