基础通配符1.*- 匹配任意字符*.class # 匹配所有.class文件 *.log # 匹配所有.log文件 *temp* # 匹配包含temp的文件名2.?- 匹配单个字符test?.java # 匹配test1.java, testA.java等 file?.txt # 匹配file1.txt, fileA.txt3.[]- 匹配字符范围[abc].txt # 匹配a.txt, b.txt, c.txt [0-9].java # 匹配0.java到9.java [!a].log # 匹配除a以外的单字符.log文件路径匹配4./- 目录分隔符# 只忽略根目录的file.txt file.txt # 忽略任何目录下的file.txt /file.txt # 实际效果和上面一样5.**- 递归匹配# 忽略任何子目录下的.class文件 **/*.class # 忽略target目录及其所有子目录 target/** # 忽略特定目录下的所有文件 logs/**/* # 只忽略logs目录下的文件不包含子目录 logs/*特殊模式6.!- 取反例外情况# 忽略所有.log文件但保留important.log *.log !important.log # 忽略所有.class但保留src目录下的.class **/*.class !src/**/*.class7./- 结尾的斜杠目录# 只忽略目录不忽略同名文件 logs/ # 忽略logs目录实用示例# 忽略所有.class文件 *.class # 忽略特定目录 target/ node_modules/ # 忽略日志文件 **/*.log # 例外保留src目录下的.class文件 !src/**/*.class # 忽略IDE配置 .idea/ .vscode/ # 忽略临时文件 *~ *.tmp