Git-ignore ciertos archivos en subdirectorios, pero no todos

Tengo una estructura similar a la siguiente:

/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

Me gustaría que git ignoreningun .json archivos bajo la ruta '/ data / ...', pero '/ data /' a veces contiene subdirectorios.

Mi comprensión es que una @ simpdata/*.json en gitignore solo coincidirá con un directorio, ya que* no coincide con/, como se indica enhttp: //git-scm.com/docs/gitignor, "Formato del patrón", viñeta # 6:

De lo contrario, git trata el patrón como un globo de shell adecuado para el consumo de fnmatch (3) con el indicador FNM_PATHNAME: los comodines en el patrón no coincidirán con / en el nombre de ruta. Por ejemplo, "Documentation / *. Html" coincide con "Documentation / git.html" pero no con "Documentation / ppc / ppc.html" o "tools / perf / Documentation / perf.html".

¿Existe una manera simple de hacer esto, o necesito agregar activamente archivos gitignore en cada subdirectorio, explícitamente?

Respuestas a la pregunta(3)

Su respuesta a la pregunta