Моя цель - написать файл .gitignore, который будет игнорировать все на любом уровне вниз, кроме:
*.xxx
*.yyy
в текущем каталоге (где находится .gitignore) и
*.xxx
где угодно - на любом уровне - в дереве ниже.
Другими словами, я хочу сохранить в git *.xxx
на любом уровне, а также *.yyy
на корневом уровне.Все остальное следует игнорировать.
Имя подпапок неизвестно, поэтому я не могу заключить их в файл gitignore.
Я пробовал много альтернатив, но пока безуспешно: например:
#ignore everything in any subdirectory
*
*/**
#expect some files:
!*.yyy
!*/**/*.xxx
Мне кажется, что я наложил ограничение:
"Невозможно повторно включить файл, если исключен родительский каталог этого файла" *
в git ignore doc ... Есть ли способ обойти это ...?