如何配置.gitignore忽略config-files目录下非example.开头的文件?
解决config-files目录的.gitignore规则问题
直接用下面的配置就能实现需求:
# 忽略config-files及其所有子目录下的所有内容 /config-files/**/* # 保留所有子目录本身(让Git能遍历这些目录) !/config-files/**/ # 允许追踪所有以example.开头的文件 !/config-files/**/example.*
为什么之前的写法没用?
之前的配置要么直接忽略了/config-files/**(整个目录被标记为忽略,Git不会再遍历里面的任何内容,后续的例外规则直接失效),要么用/config-files/*只忽略一级目录的内容,但子目录里的文件还是会被忽略,且同样没有保留子目录的遍历权限。
配置说明
/config-files/**/*:精准忽略所有层级目录里的文件和内容,不影响目录本身!/config-files/**/:反向排除所有子目录,让Git不会跳过这些目录,确保后续的例外规则能被检查到!/config-files/**/example.*:匹配所有层级(包括config-files根目录、db、jwt等子目录)下以example.开头的文件,让这些文件可以被Git追踪
内容的提问来源于stack exchange,提问作者Mateen Bagheri
相关产品推荐
相关产品推荐

