(Первоначально задавался в списке рассылки Git и в списке рассылки Git For Windows , пока без ответа.)
Проблема
Во время выполнения команды git clone --recurse-submodules https://repo
я заметил странный вывод команды git
во время инициализации подмодулей:
Submodule 'Binary/A' (https://repo) registered for path '!f() { ~/AppData/Local/Fork/Fork.exe $PWD; }; fBinary/A'
Submodule 'Binary/B' (https://repo) registered for path '!sh -c 'git log $1@{1}..$1@{0} $@'Binary/B'
Submodule 'Binary/C' (https://repo) registered for path 'ls-files -o -i --exclude-standardBinary/C'
Submodule 'Binary/D' (https://repo) registered for path 'mergetool.TortoiseGitMerge.trustexitcodeBinary/D'
Команда, кажется, работает нормально и успешно завершается.
Частичная диагностика
Мне удалось определить, что это за мусор, впрыскиваемый в печатные пути подмодулей.Это происходит из псевдонимов git, которые я настроил, например, в ~/.gitconfig
есть это:
[include]
path = ~/alias_misc.gitconfig
и в ~/alias_misc.gitconfig
есть этот псевдоним
[alias]
fapp = "!f() { ~/AppData/Local/Fork/Fork.exe $PWD; }; f"
, которыйвставляется в путь Binary/A
в выводе git clone
, скопированном выше.
(Все файлы доступны на GitHub ).
Вопрос
Может ли кто-нибудь объяснить, почему git
случайным образом вставляет определения псевдонимов в свой вывод?
Что-то не так с моими файлами конфигурации Git?