Git - [includeIf] 多个 gitconfigs 不起作用

ask*_*end 7 git

我正在尝试让多个 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
Run Code Online (Sandbox Code Playgroud)

~/Development/Business/test/.gitconfig

[user]
    name = First Last
    email = test@email.com
Run Code Online (Sandbox Code Playgroud)

我的 HOME 环境变量是 C:\

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

git config user.email
email@email.com
Run Code Online (Sandbox Code Playgroud)

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

git config user.email
test@email.com
Run Code Online (Sandbox Code Playgroud)

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

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

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

Von*_*onC 2

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

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