Ответ 1
Это просто, просто добавьте еще одну запись !my_folder
в .gitignore
#ignore all kind of files
*
#except php files
!*.php
!my_folder
Последняя строка будет особенно заботиться о my_folder
и не будет игнорировать любые php файлы внутри нее; но файлы в других папках будут по-прежнему игнорироваться из-за первого шаблона *
.
ИЗМЕНИТЬ
Думаю, я неправильно понял ваш вопрос. Если вы хотите игнорировать все файлы, кроме файлов .php
, вы можете использовать
#ignore all kind of files
*.*
#except php files
!*.php
Это не будет игнорировать любой файл, который не имеет расширения (пример: если у вас есть README
, а не README.txt
) и будет игнорировать любую папку с .
в ее имени (пример: каталог с именем module.1
).
FWIW, git не отслеживает каталоги, и, следовательно, нет способа указать правила игнорирования для каталога vs file