Руководства по .gitignore
От синтаксиса шаблонов до приоритета, глобальной настройки, работы с уже закоммиченными файлами и отладки — по официальной документации git.
Синтаксис шаблонов .gitignore: полный обзор
Синтаксис шаблонов gitignore с таблицами примеров: комментарии, экранирование и конечные пробелы, отрицание !, завершающий слеш, привязка, подстановочные знаки *, ? и [], правила для **.
Приоритет правил gitignore и отрицающие шаблоны (!)
Почему побеждает последнее правило, как распределяется приоритет между .gitignore, info/exclude и глобальной настройкой, почему ! не может вернуть файл из исключённого родительского каталога и как это обойти.
Настройка глобального gitignore (core.excludesFile)
Как настроить core.excludesFile, чтобы файлы вашего личного окружения — .DS_Store из macOS, файлы редакторов — игнорировались во всех репозиториях, и какой путь используется по умолчанию.
Личные правила игнорирования в .git/info/exclude
Как записать в .git/info/exclude личные правила игнорирования, действующие только в одном репозитории, не меняя .gitignore, — когда это удобно и какой у них приоритет.
Как игнорировать уже закоммиченные файлы через .gitignore
Как с помощью git rm --cached убрать из отслеживания файлы, которые продолжают отслеживаться после добавления в .gitignore, как найти отслеживаемые файлы, попадающие под правила игнорирования, и что делать, если закоммичены секреты.
Почему файл игнорируется? Отладка с git check-ignore
Как с помощью git check-ignore -v, git status --ignored и git ls-files найти правило, которое игнорирует файл, и проверить семь частых причин, по которым правило не срабатывает.
Что игнорировать, а что коммитить
Критерии: игнорировать артефакты сборки, зависимости, кэши и секреты, но коммитить lockfile, примеры конфигурации и согласованные настройки редактора; а также .gitignore в подкаталогах, сохранение пустых каталогов и советы по объединению шаблонов.