Git 忽略:如何匹配一位或多位数字
Git ignore: How to match one or more digits
我想确保 git 忽略任何轮流创建的日志文件。例如
debug.log
debug.log.1
debug.log.2
debug.log.10
应该全部忽略。我目前正在使用 *.log
和 *.log.[0-9]
来忽略列表中的前 3 个。要捕获第三个,我知道我可以使用 *.log.[0-9][0-9]
。但是,我更愿意找到一种可以捕获所有这些的单行解决方案。
有没有办法告诉git忽略文件匹配一个或多个digits?
遗憾的是 .gitigore
使用 glob 而不是正则表达式进行匹配,这意味着没有好的方法。
Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag ...
当然可以使用:
*.log.[0-9]*
但请注意,这也会匹配 debug.log.9abc
之类的内容。如果您对此表示满意,我认为这种模式就足够了。
如果您真的必须严格执行,是的,您必须将它们全部列出:
*.log
*.log.[0-9]
*.log.[0-9][0-9]
*.log.[0-9][0-9][0-9]
# ... And so on if needed.
我想确保 git 忽略任何轮流创建的日志文件。例如
debug.log
debug.log.1
debug.log.2
debug.log.10
应该全部忽略。我目前正在使用 *.log
和 *.log.[0-9]
来忽略列表中的前 3 个。要捕获第三个,我知道我可以使用 *.log.[0-9][0-9]
。但是,我更愿意找到一种可以捕获所有这些的单行解决方案。
有没有办法告诉git忽略文件匹配一个或多个digits?
遗憾的是 .gitigore
使用 glob 而不是正则表达式进行匹配,这意味着没有好的方法。
Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag ...
当然可以使用:
*.log.[0-9]*
但请注意,这也会匹配 debug.log.9abc
之类的内容。如果您对此表示满意,我认为这种模式就足够了。
如果您真的必须严格执行,是的,您必须将它们全部列出:
*.log
*.log.[0-9]
*.log.[0-9][0-9]
*.log.[0-9][0-9][0-9]
# ... And so on if needed.