Git ignore:如何匹配一个或多个数字

Rei*_*fia 8 regex git gitignore

我想确保git忽略在轮换基础上创建的任何日志文件.例如

debug.log
debug.log.1
debug.log.2
debug.log.10
Run Code Online (Sandbox Code Playgroud)

都应该被忽略.我目前正在使用*.log*.log.[0-9]忽略列表中的前3个.为了捕获第三个,我知道我可以使用*.log.[0-9][0-9].但是,我更愿意找到能够捕获所有这些的单线解决方案.

有没有办法告诉gitignore文件匹配一个或多个数字?

Tho*_*Lee 11

可悲的是,.gitigore使用glob而不是正则表达式进行匹配,这意味着没有一个好方法可以做到.

否则,Git将模式视为适合fnmatch(3)使用FNM_PATHNAME标志消耗的shell glob ...

当然你可以使用:

*.log.[0-9]*
Run Code Online (Sandbox Code Playgroud)

但请注意,这也会匹配debug.log.9abc.如果你对此感到满意,我认为这种模式就足够了.

如果你真的必须严格执行,是的,你必须列出所有:

*.log
*.log.[0-9]
*.log.[0-9][0-9]
*.log.[0-9][0-9][0-9]
# ... And so on if needed.
Run Code Online (Sandbox Code Playgroud)