是否有类似Bash脚本的简写,用于匹配.gitignore
文件中的多个不同扩展名,例如:
*.{bak,save,aux,nav,toc}
上面的语法 。
答案 0 :(得分:4)
无法在线找到答案,所以自己尝试了一下,并且行得通(使用SourceTree创建测试本地存储库)。这是在编辑.gitignore文件。
* [。bak,.save,.aux ..导航,.toc]
逗号和句号之间也可以有空格或没有空格。
因此,就我而言,我必须这样做
忽略此目录中的所有文件,但dll和dic文件除外:
Web.Site/第三方程序集/ *
!第三方程序集/**/*[.dll,.dic]
答案 1 :(得分:0)
据我所知,没有办法做到这一点,除非您要忽略的扩展名全都是单个字符。另一个答案*[.ext, .txt, .bin]
中提到的方法起初似乎很有效,但实际上忽略了太多事情。
“
[]
”在选定范围内匹配一个字符
如该页面后面的示例所示:
# ignore objects and archives, anywhere in the tree. *.[oa]
这将忽略任何.o
或.a
文件。
因此,这意味着*[.ext, .txt, .bin]
的行为实际上与*[beintx., ]
相同(这是相同的模式,其中删除并排序了重复的字符),并且将忽略结尾为的任何文件(包括扩展名)这9个字符中的任何一个。
我只是在自己的Git存储库中尝试了此方法,并且确实确实遵循了这种行为。