How to I add something to the .gitignore so that the match is not recursive? How to I add something to the .gitignore so that the match is not recursive? git git

How to I add something to the .gitignore so that the match is not recursive?


The solution is to place a leading slash on the .gitignore entries:

/foo//bar.txt

(I thought I tried this before posting on StackOverflow, but clearly I hadn't tried it properly, as this works perfectly.)


From the gitignore manpage:

An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources.

So !* as the first line in your .gitignore will clear all previous patterns.