Czy istnieje sposób korzystania z rozszerzonych wyrażeń regularnych (ERE) w pliku .gitignore
? Na przykład chcę użyć znaku powtórzenia +
w pliku .gitignore
. Czy jest jakiś sposób na zrobienie tego?Rozszerzone wyrażenia regularne (ERE) dla .gitignore
Odpowiedz
Jak pokazano here i szczegółowo opisane w „this question”, funkcja fnmatch() jest zaangażowany w interpretacji wzorców glob, co oznacza, że wyrażenia regularne nie są obsługiwane.
To co gitignore
man page wspomina:
Inaczej
git treats the pattern as a shell glob suitable for consumption by fnmatch(3)
z flagąFNM_PATHNAME
: symbole wieloznaczne w strukturze nie będzie pasował do/
w ścieżkę.
Na przykład "Documentation/*.html
" pasuje do "Documentation/git.html
", ale nie "Documentation/ppc/ppc.html
" lub "".
Można zobaczyć jakiś związek między wzorami glob i wyrażeń regularnych w thosequestions.
Pliki .gitignore
(i inne) używają nazw plików globs, a nie wyrażeń regularnych.
Bardzo wątpię, czy uda ci się przekonać hakerów gitów, żeby to zmienili. Po prostu zbytnio zakorzeniony, a globusy są dużo bardziej znane jako nazwy plików.
Szkoda. Taka przydatna funkcja mogłaby być. –
@ArturBarseghyan, rozważ Mercurial, ma tę fajną funkcję i wiele innych fajnych funkcji. – toriningen
@modchan: Wiem, że istnieje on w Mercurial i często go używam. Dzięki za komentarz. –