我的结构类似于以下内容:
/root/
/root/data/
/root/data/script.php
/root/data/some.json
/root/data/feature/one.json
/root/data/feature/two.json
/root/data/other-feature/one.json
/root/data/other-feature/important-script.php
我希望git忽略'/ data / ...'路径下的任何 .json
文件,但是'/ data /'有时包含子目录。
我的理解是,简单data/*.json
的gitignore只能匹配一个目录,*
而不匹配/
,如http://git-scm.com/docs/gitignore所述,“模式格式”,项目符号6:
否则,git将模式视为适合Fnmatch(3)使用FNM_PATHNAME标志使用的shell全局变量:模式中的通配符将与路径名中的/不匹配。例如,“ Documentation / *。html”匹配“ Documentation / git.html”,但不匹配“ Documentation / ppc / ppc.html”或“ tools / perf / Documentation / perf.html”。
有没有一种简单的方法可以执行此操作,或者我需要在每个子目录中明确地主动添加gitignore文件?