我想确保git忽略在轮换基础上创建的任何日志文件。例如
debug.log
debug.log.1
debug.log.2
debug.log.10
都应该被忽略。我目前正在使用*.log
和*.log.[0-9]
来忽略列表中的前3个。要捕获第三个,我知道我可以使用*.log.[0-9][0-9]
。但是,我更愿意找到能够捕获所有这些内容的单行解决方案。
有没有办法告诉gitignore文件匹配一个或多个数字?
答案 0 :(得分:9)
可悲的是.gitigore
使用glob代替正则表达式进行匹配,这意味着这不是一个好方法。
否则,Git将模式视为适合fnmatch(3)使用FNM_PATHNAME标志消耗的shell glob ...
当然你可以使用:
*.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.