首页 > 解决方案 > Git - [includeIf] 多个 gitconfigs 不起作用

问题描述

我正在尝试让多个 gitconfigs 在我的 repos use 上工作[includeIf]。我在~/Development/Business/work/有一个定期回购,在~/Development/Business/test/有一个测试回购。

以下全局 gitconfig 和具体的 gitconfigs 如下:

~.gitconfig

[user]
    name = First Last
    email = email@email.com
    
[includeIf "gitdir:~/Development/Business/test/"]
    path = ~/Development/Business/test/.gitconfig

~/Development/Business/test/.gitconfig

[user]
    name = First Last
    email = test@email.com

我的 HOME 环境变量是C:\

当我git config user.email在路径上运行时,~/Development/Business/test/repo1我收到以下输出:

git config user.email
email@email.com

但是,预期的结果应该是:

git config user.email
test@email.com

当我运行git --show-origin user.email输出是

文件:C://.gitconfig email@email.com

它不应该指向test/.gitconfig吗?

标签: git

解决方案


此功能来自 Git 2.14 (Q3 2017),其中包括一些测试

如果 ~ 没有被 %HOME% 正确替换,请尝试/C/在您的路径中使用以检查这是否更好(用于测试)。


推荐阅读