Есть ли способ использовать расширенные регулярные выражения (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 гораздо более знакомы с именами сокетов.