Генератор .gitignore

Выберите все технологии, используемые в этом репозитории.

Правила для ОС и редактора обычно добавляют в глобальный файл исключений Git.

Далее: проверить правила

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

Как создать и использовать правила исключения

  1. 1

    Выберите технологии проекта

    Отметьте все технологии репозитория, например Laravel вместе с Node.js для PHP-приложения со сборкой интерфейса.

  2. 2

    При необходимости добавьте личные правила

    Выберите ОС или редактор, чтобы увидеть отдельный набор глобальных исключений. Если они уже есть в вашем глобальном файле, выбирать их повторно не нужно.

  3. 3

    Проверьте, скопируйте или скачайте

    Просмотрите правила проекта. Скопируйте их в файл `.gitignore` в корне репозитория или скачайте ZIP-архив и извлеките находящийся в нём `.gitignore` туда же. Необязательные личные правила поместите в глобальный файл исключений Git.

  4. 4

    Проверьте перед коммитом

    Сделайте коммит проектного `.gitignore`, чтобы передать правила коллегам. Убедитесь, что нужные файлы, особенно образцы настроек и файлы фиксации версий зависимостей, по-прежнему видны Git.

Какие правила куда помещать?

Тип правила Где хранить Пример
Результаты сборки и установленные зависимости проекта В .gitignore, добавленном в репозиторий node_modules/, vendor/, __pycache__/
Локальные значения окружения В проектном .gitignore .env и локальные варианты .env.*
Файлы вашей ОС и редактора В глобальном файле исключений Git или в .git/info/exclude для одного репозитория Метаданные Finder или резервные копии редактора
Файлы, нужные коллегам Оставлять под контролем версий, когда это требуется .env.example, package-lock.json, composer.lock, Gemfile.lock

Git читает проектные файлы .gitignore, локальный для репозитория .git/info/exclude и личный файл, указанный в core.excludesFile. После коммита .gitignore правила проекта передаются вместе с репозиторием. Личные правила обычно действуют только на вашем компьютере. Подробнее см. руководство Git по gitignore и руководство GitHub по исключению файлов.

Пример: сервис Node.js со скриптами Python

Выберите Node.js и Python. Проектный файл объединит правила для установленных пакетов, например node_modules/, результатов сборки Node, например dist/, и файлов, создаваемых Python, например __pycache__/ и .venv/. Он также исключит локальные значения .env, сохранив возможность отслеживать .env.example. Если вы работаете на Mac в Visual Studio Code, выберите соответствующие личные параметры и отдельно проверьте их правила. Перед сохранением сопоставьте оба результата с настоящим репозиторием.

Генератор использует выбранные шаблоны. Он не просматривает файлы и не может определить, находится ли в каталоге dist/ результат сборки или исходный код, который вы хотите добавить в коммит. Сузьте или удалите правило, если оно не подходит проекту. Команда git check-ignore -v path/to/file покажет, какое правило применяется к ещё не отслеживаемому файлу. Коллекция шаблонов GitHub полезна для знакомства с правилами разных технологий и редакторов, но не заменяет проверку собственного репозитория.

Файлы окружения и фиксации версий

Исключение .env помогает не добавить локальные учётные данные в новые коммиты, но не удаляет секрет, уже записанный в Git. Если он попал в историю, прекратите отслеживать файл, выясните, куда попали копии, и смените учётные данные. Отслеживайте очищенный .env.example только в том случае, если он содержит заполнители вместо настоящих секретов. Созданный файл уже содержит исключение !.env.example, поэтому общее правило .env.* не скрывает пример. Сохраните это исключение, если будете редактировать правила.

В приложениях сохраняйте файлы фиксации версий зависимостей, чтобы при установке воспроизводились выбранные версии. npm рекомендует коммитить package-lock.json, а Composer рекомендует коммитить composer.lock. Для библиотек правила могут отличаться; следуйте политике сборки и выпуска конкретного проекта.

Часто задаваемые вопросы

Правила исключения действуют на файлы, которые Git ещё не отслеживает. Чтобы прекратить отслеживание, но сохранить локальную копию, выполните git rm --cached path/to/file и сделайте коммит удаления. Если файл содержал учётные данные, смените их и проверьте историю репозитория и копии.

Обычно очищенный .env.example и файлы фиксации версий зависимостей приложения следует оставлять в Git. Пример показывает обязательные переменные окружения, а файл фиксации закрепляет версии для коллег и развёртываний. Убедитесь, что в примере нет настоящих секретов.

Да. Выберите все технологии, используемые в одном репозитории. Генератор объединит проектные правила в одном .gitignore. Проверьте, не использует ли ваш проект некоторые исключаемые пути для других целей.

Для личных правил, действующих в нескольких репозиториях, используйте глобальный файл исключений Git. Если XDG_CONFIG_HOME не задана, Git по умолчанию использует ~/.config/git/ignore. Другой путь можно задать через core.excludesFile. Для частного правила только в этом репозитории используйте .git/info/exclude. Не добавляйте отдельный личный результат в общий проектный файл, если команде эти правила не нужны.

Выбранные технологии и необязательные параметры ОС или редактора передаются на сервер для создания правил. В многошаговом режиме выбранные значения также появляются в URL страницы. Не помещайте секреты в URL. Инструмент создаёт правила на основе выбора, но не читает ваш репозиторий и не загружает его файлы.

Сопутствующие инструменты

Смешивание цветов

Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.

Генератор вымышленных телефонных номеров

Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.

Генератор конфигурации webpack

Создайте webpack.config.js для webpack 5 по короткой форме: задайте entry, папку вывода и режим, затем включите TypeScript, Babel, загрузчик CSS, HtmlWebpackPlugin и сервер разработки.

Генератор бейджей README

Создавайте бейджи shields.io для файлов README на GitHub: статус сборки, версия, лицензия, число загрузок и покрытие кода. Просмотрите и скопируйте фрагмент Markdown.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Генератор случайных адресов

Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.

Инструмент доступен на других языках