Ответ 1
Вы можете включить! -lines в файлы с белыми списками: a .gitignore с помощью:
*
!included/
исключит все, но каталог "included/"
Обратите внимание, что если вы хотите, чтобы файлы, соответствующие шаблону, не были проигнорированы, в подкаталогах вам также нужно будет игнорировать содержащие каталоги файлы. Это не должно представлять большой проблемы, поскольку git фактически не отслеживает каталоги, а только файлы (определенные по пути репозитория).
Пример:
*
!*/
!SOURCES
будет игнорировать все, кроме SOURCES
в подкаталогах.