У меня наконец-то появилась возможность проверить Windows.
Из ваших комментариев:
Полагаю, мне следует упомянуть, что в моем gitconfig есть команда [includeIf "gitdir:C:/Users/myname/privateRepoFolder"]
path =
~/gitconfig-private
, и в этом альтернативном gitconfig-private у меня есть [user] email = myRepoEmail@address.com
.
В Windows условное включение includeIf
немного относится к пути.
Сначала , убедитесь, что в конце пути указан /
, чтобы указать каталог, как в их примере:
; include for all repositories inside /path/to/group
[includeIf "gitdir:/path/to/group/"]
path = /path/to/foo.inc
Так что вы должны использовать:
[includeIf "gitdir:C:/Users/myname/privateRepoFolder/"]
path = ~/gitconfig-private
Я обнаружил, что он также работает, заканчивая путь файлом .git (чтобы быть более явным).
[includeIf "gitdir:C:/Users/myname/privateRepoFolder/.git"]
path = ~/gitconfig-private
Секунда , для VSCode, это работает, только если вы используете сопоставление без учета регистра (gitdir/i
):
[includeIf "gitdir/i:C:/Users/myname/privateRepoFolder/"]
path = ~/gitconfig-private
Такое поведение без учета регистра является известным поведением VSCode.
См. Сообщаемую проблему. Интеграция с Git неправильно поддерживает директиву includeIf
:
Я попытался выполнить коммит из VSCode, чтоя забрал конфиг includeIf.Затем я запустил упаковщик из командной строки, и он поднял includeIf.Затем я проверил журнал:
В VSCode:
config --get-all user.name in c:\Users\zhuowei\Documents\repos\includeIf
Снаружи:
config --get-all user.name in C:\Users\zhuowei\Documents\repos\includeIf
Обратите внимание на разницув письме дела.