我有一个 shell 变量,它指向我所有配置文件所在的目录。让我们假设变量是用 export RC=$HOME/rc
创建的。我在配置目录中有一个全局忽略文件: ~/rc/globalgitignore
。
我的问题是,如何扩展 RC
文件中的 .gitconfig
变量?
我已经尝试了以下方法:
excludesfile = $RC/globalgitignore
excludesfile = !$RC/globalgitignore
excludesfile = !echo $RC/globalgitignore
excludesfile = !$(echo $RC/globalgitignore)
这些解决方案都不起作用。
如果我输入完整路径,这是唯一有效的方法:
excludesfile = ~/rc/globalgitignore
,但是如果将我的 rc
目录移动到不同的位置,我必须更改路径。 最佳答案
你不能。 git-config(1) 不支持环境变量扩展,只支持有限的类型转换和路径扩展:
--path
的文档指出:
术语“扩展”在 git-config(1)
中没有出现在任何不同的上下文中。那么,鉴于没有任何地方记录此类功能,您是如何想到它应该这样做的呢?
为了扩展环境变量,您必须自己预处理 Git 配置文件,即通过创建模板文件,并在将文件复制到 $HOME
目录之前使用脚本扩展变量。
如果是关于 dotfile 管理,那么做所有人都会做的事情:将它们放在一个目录中,然后将符号链接(symbolic link)从您的 $HOME
添加到该目录。
关于git - git config 中的 Shell 变量扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11262010/