我有一个类似于以下的结构:
/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
Run Code Online (Sandbox Code Playgroud)
我想git忽略'/ data/...'路径下的任何 .json文件,但'/ data /'有时包含子目录.
我的理解是,一个简单data/*.json的gitignore只会匹配一个目录,因为*它不匹配/,如http://git-scm.com/docs/gitignore所述,"模式格式",项目符号#6:
否则,git将模式视为适合fnmatch(3)使用FNM_PATHNAME标志的shell glob:模式中的通配符与路径名中的/不匹配.例如,"Documentation/*.html"匹配"Documentation/git.html",但不匹配"Documentation/ppc/ppc.html"或"tools/perf/Documentation/perf.html".
有没有一种简单的方法可以做到这一点,还是我需要明确地在每个子目录中主动添加gitignore文件?
E.M*_*rov 22
你可以把data/**/*.json你.gitignore的/root目录,以防止多个.gitignore在不同的目录中的文件
**/ - 匹配子目录的任何数量(包括当前)
例如:data/**/*.json记录将忽略data/1.json,data/subfolder/2.json,data/../../3.json
此模式适用于仅忽略 png 和 jpg 文件的数据子文件夹:
**/data/**/*.png
**/data/**/*.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53722 次 |
| 最近记录: |