Это так запутанно. Это проще показать с помощью команд оболочки.
Обратите внимание, что мой ~/.gitconfig
указывает excludesfile = /home/I063510/.gitignore
в разделе [core]
проверьте, почему .p12 игнорируется, труба к sed для маскировки моего идентификатора пользователя
$> git check-ignore -v check.p12 | sed -n 's,/home/[^/]*,~,p'
~/.gitignore:11:*.war check.p12
закомментируйте строку с шаблоном ^*.war
и убедитесь, что файл .p12 теперь не игнорируется
$> sed -i.orig 's,^*.war,#&,' ~/.gitignore
$> git check-ignore -v check.p12 | sed -n 's,/home/[^/]*,~,p'
$>
восстановить исходный файл и убедиться, что .p12 игнорируется
$> mv -f ~/.gitignore.orig ~/.gitignore
$> git check-ignore -v check.p12 | sed -n 's,/home/[^/]*,~,p'
~/.gitignore:11:*.war check.p12
git версия:
$> git --version
git version 2.17.0
UPDATE
Я попробовал portablegit на основе ответа VonC и вижу тот же результат:
# git check-ignore -v check.p12
# git config core.excludesfile c:/temp/.gitignore
# git check-ignore -v check.p12
c:/temp/.gitignore:1:*.war check.p12
# git --version
git version 2.20.1.windows.1
ОБНОВЛЕНИЕ 2
Забыл упомянуть, это происходит только для шаблона в ~core.excludesfile~
, а не в ~core.workdir~/.gitignore