about

О генераторе .gitignore

Этот инструмент берёт без изменений официальную коллекцию шаблонов, которую ведёт GitHub, — github/gitignore, объединяет несколько шаблонов в один файл и убирает повторяющиеся правила. Какие файлы на самом деле игнорирует полученный набор правил, можно сразу проверить в тестере шаблонов, реализованном по тем же правилам сопоставления, что и в git. Вся обработка выполняется в браузере; введённые правила и пути на сервер не отправляются.

Основные возможности

Как пользоваться

  1. Найдите шаблоны в списке слева и отметьте их или нажмите кнопку популярного набора. Обычно выбирают 1–2 языка/фреймворка и свою ОС и редактор.
  2. Проверьте результат справа. Изменения параметров Удалять повторяющиеся правила, Комментарии-заголовки разделов и Сохранять исходные комментарии применяются сразу. Правила, специфичные для проекта, впишите в поле Свои правила.
  3. Кнопкой Копировать или Скачать создайте .gitignore в корне репозитория. Если браузер сохранил файл под именем gitignore, переименуйте его, добавив точку в начале.
  4. Кнопка Проверить переносит правила на вкладку теста шаблонов. Вставьте пути из репозитория и убедитесь, что они игнорируются так, как задумано (удобно использовать вывод git ls-files или find . -type f).
  5. Если уже закоммиченные файлы не игнорируются, создайте команды на вкладке Снять отслеживание, выполните их и сделайте коммит.

Данные шаблонов и лицензия

Шаблоны (312 шт.) соответствуют коммиту 356fd7b (2026-09-11) репозитория github/gitignore. Репозиторий распространяется под CC0-1.0 (передача в общественное достояние), поэтому его можно свободно копировать, изменять и распространять. Корневая папка содержит языки и фреймворки, Global — ОС, редакторы и инструменты, community — специализированные шаблоны. Разборы шаблонов и тексты на этом сайте написаны авторами сайта.

Частые вопросы

Я добавил файл в .gitignore, но он всё равно виден в git status.

.gitignore действует только на файлы, которые ещё не отслеживаются. Уже закоммиченный файл начнёт игнорироваться, только если убрать его из индекса командой git rm --cached <файл> и сделать коммит. Команды можно создать на вкладке снятия отслеживания.

Я вернул файл через `!`, но он всё ещё игнорируется.

Если исключён сам родительский каталог, git не заглядывает внутрь, и вложенный файл нельзя вернуть через !. Вместо logs/ исключите только содержимое каталога, например logs/*, а затем используйте !logs/keep.txt. Тестер шаблонов показывает такой случай как «Игнорируется (родительский каталог)».

Не меняет ли удаление дубликатов смысл правил?

git следует последнему совпавшему правилу. Если одно и то же правило встречается повторно и между повторами нет правила !, удаление более позднего не меняет результат. Если между ними есть отрицающее правило, инструмент не удаляет повтор.

Совпадают ли результаты тестера шаблонов с настоящим git?

Тестер реализован по документации gitignore(5) и поведению wildmatch в git; совпадение проверено сравнением тысяч случайных шаблонов и путей с реальным выводом git ls-files --ignored. Однако .gitignore в подкаталогах, .git/info/exclude и глобальные настройки не учитываются, поэтому для оценки всего репозитория используйте git check-ignore -v.

Нужно ли добавлять правила macOS и VS Code в .gitignore проекта?

Файлы, создаваемые ОС и редактором, относятся к личному окружению, поэтому рекомендуется держать их в глобальном gitignore, заданном через core.excludesFile. Но участники команды часто не настраивают глобальный файл, поэтому многие команды добавляют эти правила и в файл проекта.

Насколько актуальны данные шаблонов?

Репозиторий github/gitignore загружается скриптом сборки и поставляется вместе с сайтом. Базовый коммит и дата указаны на странице «О сервисе», внизу списка шаблонов и в заголовочном комментарии созданного файла.

Сохраняется ли или передаётся ли то, что я ввожу?

Нет. Создание, тестирование и генерация команд выполняются в браузере. В localStorage этого браузера сохраняются только светлая/тёмная тема и параметры генерации.