Вот некотырые примеры:
Игнорировать совпадение по папке image в корне проєкта
/image/
Игнорировать любое совпадение, по папке image в любом каталоге проэкта
image/
Игнорировать файл config.php в корне проэкта
/config.php
Игнорировать файл в любом месте проэкта
config.php
Будет проигнорина папка 1-ин(и ее содержимое) внутри папке config но не само содержимое папки config
/config/1/
Будет проигнорирован только файл dev.conf внутри папок /config/2/dev.conf
/config/2/dev.conf
Игнорировать файлы заканчивающиеся на log кроме файлов important.log
*.log
!important.log
Чтобый исключить содержимое директории но не саму директорию нужно в данной директории создать файл .gitignore следующего содержания:
*
!.gitignore
Перечитать изменения в файле gitignore можно:
если нужно перечитать изменения для файла
git rm --cached path/to/file
если нужно сделать изменения для папки
git rm -r --cached path/to/folder
Если нужно перечитать все содержимое gitignore и обновить его.
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
Больше примеров можно посмотреть тут