Git-ignore некоторые файлы в поддиректориях, но не все

У меня есть структура, похожая на следующую:

/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/' иногда содержит подкаталоги.

Как я понимаю, простые данные/*.json в gitignore будут совпадать только с одной директорией, так как * не совпадают с /, как сказано в http://git-scm. com/docs/gitignore, "Pattern Format", пуля #6:

В противном случае, git рассматривает шаблон как глобус оболочки, пригодный для потребления по fnmatch(3) с флагом FNM_PATHNAME: подстановочные знаки в шаблоне не будут совпадать с символом a / в патнаме. Например, "Documentation/*.html" совпадает с "Documentation/git.html", но не с "Documentation/ppc/ppc.html" или "tools/perf/Documentation/perf.html".

Есть ли простой способ сделать это, или мне нужно активно добавлять gitignore файлы в каждый подкаталог, явно?

67
задан anonymous coward 22 July 2011 в 18:53
поделиться