On January 29, 2018 6:30 AM, Jack F wrote: > I have just noticed that the documentation for gitignore is missing > documentation on using the ? to match any single character. I have included > a example below with git version 2.14.1. > > |11:05:09 j ~/Development/ls-ignore [master] $ git status On branch > master Your branch is up-to-date with 'origin/master'. nothing to commit, > working tree clean 11:05:11 j ~/Development/ls-ignore [master] $ cat > .gitignore *~ node_modules yarn* 11:05:21 j ~/Development/ls-ignore > [master] $ touch test.swo 11:05:31 j ~/Development/ls-ignore [master]?1 $ > git status On branch master Your branch is up-to-date with 'origin/master'. > Untracked files: (use "git add <file>..." to include in what will be committed) > test.swo nothing added to commit but untracked files present (use "git add" > to track) 11:05:35 j ~/Development/ls-ignore [master]?1 $ echo "*.sw?" >> > .gitignore 11:05:40 j ~/Development/ls-ignore [master]≠1 $ cat .gitignore *~ > node_modules > yarn* *.sw? 11:05:51 j ~/Development/ls-ignore [master]≠1 $ git status On > branch master Your branch is up-to-date with 'origin/master'. Changes not > staged for commit: (use "git add <file>..." to update what will be > committed) (use "git checkout -- <file>..." to discard changes in working > directory) modified: .gitignore no changes added to commit (use "git add" > and/or "git commit -a")| > > > > Noticed it when checking an npm package (ignore) that uses the > documentation (https://git-scm.com/docs/gitignore) to determine its > functionality. It is documented in https://git-scm.com/book/en/v2/Git- > Basics-Recording-Changes-to-the-Repository#Ignoring-Files The implication of support for ? is there through the following paragraph from the gitignore documentation: "Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html"." Of course you have to go read fnmatch(3), so it might be good for expand on this here :). Cheers, Randall -- Brief whoami: NonStop developer since approximately 211288444200000000 UNIX developer since approximately 421664400 -- In my real life, I talk too much.