把
syntax:regexp
*.foo.[a-z]{1,4}
.gitignore
中的不起作用。我记得见过
syntax:glob
和
syntax:regexp
前一段时间在一些.gitignore
文件中,但我无法在Git手册中提交此类语法。有没有办法在.gitignore
中使用常规正则表达式?
答案 0 :(得分:3)
不使用任何可能支持或可能不支持的正则表达式语法(我也没有看到任何证据),您可以使用四个规则获得相同的行为:
*.foo.[a-z]
*.foo.[a-z][a-z]
*.foo.[a-z][a-z][a-z]
*.foo.[a-z][a-z][a-z][a-z]
如果你想略微妥协,你可以使用*.foo.?*
(以foo结尾的任何内容,一个点,至少还有一个字符),或*.foo.[a-z]*
(以foo结尾的任何内容,然后是扩展名)以字母开头。
答案 1 :(得分:2)
您将.hgignore
与.gitignore
混淆。
没有“普通文件扩展名”这样的东西;你可以做的就是添加以下内容:
**/foo.*
**/
将匹配所有目录中的foo.*
。
.gitignore
使用shell glob syntax:
Git将模式视为适合消费的shell glob fnmatch(3)与FNM_PATHNAME标志:模式中的通配符将 与路径名中的/不匹配。