this question has answer here:
- regex-like shell glob patterns gitignore 4 answers
$ git version git version 2.9.3.windows.1
i seem having trouble + (one or more) pattern matcher in .gitignore. here test +
, *
used pattern qualifier digits embedded in file name. want keep test.txt in source control , ignore test[0-9]+.txt files.
directory:
$ ll | grep test -rw-r--r-- 1 asdf 1049089 0 apr 5 15:55 test.txt -rw-r--r-- 1 asdf 1049089 0 apr 5 15:55 test123.txt -rw-r--r-- 1 asdf 1049089 0 apr 5 15:55 test1235.txt -rw-r--r-- 1 asdf 1049089 0 apr 5 15:55 test124.txt
git ignore file contents test 1:
test[0-9]+.txt
test 1:
$ git status | grep test test.txt test123.txt test1235.txt test124.txt
this should have filtered out 2nd through 4th files.
git ignore file contents test 2:
test[0-9]*.txt
test 2:
$ git status | grep test test.txt
this should have filtered out of files.
why happening?
the .gitignore file using globbing, not regular expressions. using +
not valid.
so second attempt closer want.
test*.txt
this filter out files starting test
, ending .txt
in between. catch test.txt
because *
in glob can zero-width.
what have may simplest option.
test[0-9]*.txt
that match test
followed digit, followed (including nothing), followed .txt
.
so imperfect, in match on
test1foo.txt
which has non-numeric text past digit. how specific requirement dictate this. can add few patterns, like
test[0-9].txt test[0-9][0-9].txt test[0-9][0-9][0-9].txt test[0-9][0-9][0-9][0-9].txt test[0-9][0-9][0-9][0-9][0-9].txt
if have sure it's digits, pick how many digits, , use multiple entries make specific match.
Comments
Post a Comment