git игнорировать все файлы определенного типа, кроме тех, что находятся в определенной подпапке

У меня есть такая структура каталогов:

  • root
    • папка1
      • abc.json
      • def.json
      • somedir
        • more.json
    • папка2
      • qwe.json
      • rty.json
    • spec
      • mock1.json
      • mock2.json
      • somedir
        • more_mocks.json

Теперь, используя .gitignore , я хочу игнорировать все файлы *. Json , кроме тех, что указаны в спецификации . Я не хочу использовать .gitignore в folder1 и folder2 , потому что их очень много, и они будут добавлены ко многим, и я Я уверен, что забуду переместить правый файл .gitignore на место.

Вдобавок может быть больше вложенных каталогов с файлами json, и это правило должно применяться также ко всем подкаталогам.

Итак, как мне игнорировать все файлы определенного типа, кроме определенного подкаталога?

178
задан Alex Wayne 6 January 2011 в 23:22
поделиться