我有一个 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/

    10-13 09:00