我有一个shell变量指向我的所有配置文件所在的目录。我们假设该变量是使用export RC=$HOME/rc
创建的。我在配置目录中有一个全局忽略文件:~/rc/globalgitignore
。git config中的shell变量扩展
我的问题是,我该如何扩展我的.gitconfig
文件中的RC
变量?
我已经试过如下:
excludesfile = $RC/globalgitignore
excludesfile = !$RC/globalgitignore
excludesfile = !echo $RC/globalgitignore
excludesfile = !$(echo $RC/globalgitignore)
这些解决方案都不起作用。
如果我输入完整路径:excludesfile = ~/rc/globalgitignore
,这将工作的唯一方法,但如果将rc
目录移动到其他位置,则必须更改路径。
以前我挂在'rc'目录中的所有配置文件到我的主目录。为了省略这些链接,我创建了'RC'变量,并且大部分程序都使用它。 顺便说一下,'〜'是扩展的,当你使用git config别名...那么你可以使用shell命令行和变量扩展。 – SvenK
@SvenK:请阅读'git-config(1)':'git-config(1)'展开'〜'不是“自动地”意味着支持变量扩展甚至shell命令。 '〜'是'git-config'专门处理的,当且仅当一个值是用'--path'类型说明符*检索的。这是'git-config'支持的* only *类型的扩展。我已经更新了我的答案,以包含'git-config(1)' – lunaryorn
的相关部分,这有点令人沮丧,因为我不能只为我的整个系统指定我的http [s]?_ proxy环境变量;我不得不由于某种原因在我的gitconfig中指定它。对于不在家工作或小型开发商店工作的人员和/或根据他们工作的地点坐在不同网络上的人很烦人。 –