最佳答案
我有一个类似如下的结构:
/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 将模式视为一个 shell globb,适合使用带有 FNM _ PATHNAME 标志的 fnmatch (3) : 模式中的通配符不会与路径名中的 a/匹配。例如,「文件/* 。Html”匹配“文档/git.html”,但不匹配“文档/ppc/ppc.html”或“ tools/perf/Document/Perf.html”。
有没有一个简单的方法来做到这一点,或者我需要主动添加 gitignore 文件在每个子目录,明确?