У мене є структура, схожа на таку:
/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 ігнорував будь-які .json
файли за шляхом '/ data / ...', але '/ data /' іноді містить підкаталоги.
Я розумію, що простий data/*.json
у gitignore буде відповідати лише одному каталогу, оскільки *
не збігається /
, як зазначено на http://git-scm.com/docs/gitignore , "Формат шаблону", маркер №6:
В іншому випадку git розглядає шаблон як глобус оболонки, придатний для споживання fnmatch (3) з прапором FNM_PATHNAME: символи підстановки у шаблоні не збігатимуться з / у імені шляху. Наприклад, "Documentation / *. Html" відповідає "Documentation / git.html", але не "Documentation / ppc / ppc.html" або "tools / perf / Documentation / perf.html".
Чи є простий спосіб це зробити, чи мені потрібно активно додавати файли gitignore у кожну підкаталог, явно?