.gitignore的扩展正则表达式(ERE)

时间:2013-03-28 01:22:05

标签: regex git gitignore metacharacters

有没有办法在.gitignore文件中使用扩展正则表达式(ERE)?例如,我想在+文件中使用.gitignore重复字符。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:30)

如图所示here并在“this question”中详述,函数fnmatch()用于解释glob模式,这意味着不支持正则表达式。

这是gitignore man page提及的内容:

  

否则,带有git treats the pattern as a shell glob suitable for consumption by fnmatch(3)标记的FNM_PATHNAME:模式中的通配符与路径名中的/不匹配。
  例如,“Documentation/*.html”匹配“Documentation/git.html”,但不匹配“Documentation/ppc/ppc.html”或“tools/perf/Documentation/perf.html”。

您可以在those questions中看到glob模式与正则表达式之间的对应关系。

答案 1 :(得分:11)

.gitignore(和其他)文件使用filename globs,而不是正则表达式。

我非常怀疑你是否可以说服git黑客改变这一点:现在已经根深蒂固了,并且随着文件名匹配,globs更为熟悉。