usar - Git: ignora ciertos archivos en subdirectorios, pero no todos
ignorar cambios git (3)
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 ignore cualquier archivo .json
en la ruta ''/ data / ...'', pero ''/ data /'' a veces contiene subdirectorios.
Según entiendo, un simple data/*.json
Json en gitignore solo coincidirá con un directorio, ya que *
no coincide con /
, como se indica en http://git-scm.com/docs/gitignore , "Pattern Format", viñeta n. ° 6:
De lo contrario, git trata el patrón como un comodín de shell adecuado para el consumo por fnmatch (3) con el indicador FNM_PATHNAME: los comodines en el patrón no coincidirán con a / 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".
¿Hay una manera simple de hacer esto o necesito agregar activamente archivos de gitignore en cada subdirectorio, explícitamente?
Este patrón funciona para mí para la subcarpeta de datos ignorando únicamente los archivos png y jpg:
**/data/**/*.png
**/data/**/*.jpg
puede colocar data/**/*.json
en su .gitignore
en /root
para evitar múltiples archivos .gitignore
en directorios diferentes
**/
- coincide con cualquier recuento de subdirectorios (incluido el actual)
ejemplo: data/**/*.json
record ignorará data/1.json
, data/subfolder/2.json
, data/../../3.json