Есть ли способ использовать расширенные регулярные выражения (ERE) в файле .gitignore
? Например, я хочу использовать символ повторения +
в файле .gitignore
. Есть ли способ сделать это?
Расширенные регулярные выражения (ERE) для .gitignore
Ответ 1
Как проиллюстрировано здесь и подробно описано в разделе этот вопрос ", функция fnmatch() используется для интерпретации шаблонов glob, что означает, что регулярные выражения не поддерживаются.
Вот что gitignore
man page:
В противном случае
git treats the pattern as a shell glob suitable for consumption by fnmatch(3)
с флагомFNM_PATHNAME
: подстановочные знаки в шаблоне не будут соответствовать/
в пути.
Например, "Documentation/*.html
" соответствует "Documentation/git.html
", но не "Documentation/ppc/ppc.html
" или "tools/perf/Documentation/perf.html
".
Вы можете увидеть соответствие между шаблонами глобалов и регулярными выражениями в тех questions.
Ответ 2
В файлах .gitignore
(и других) используются имена файлов globs, а не регулярные выражения.
Я очень сомневаюсь, что вы можете убедить злоумышленников git изменить это: слишком укоренилось к настоящему времени, а globs гораздо более знакомы с именами сокетов.