Генератор .gitignore
Что такое .gitignore
Файл .gitignore указывает системе контроля версий Git, какие файлы и директории не нужно отслеживать. Он размещается в корне репозитория и содержит паттерны имён файлов. Всё, что подходит под эти паттерны, Git будет игнорировать при добавлении изменений, коммитах и отображении статуса.
Зависимости и пакеты
Папки node_modules, vendor, venv содержат тысячи файлов сторонних библиотек. Они воссоздаются одной командой (npm install, pip install) и не должны засорять репозиторий. Без .gitignore размер проекта может вырасти в сотни раз.
Секреты и .env файлы
Файлы .env, config/secrets.yml, credentials.json содержат API-ключи, пароли к базам данных и токены. Попадание таких данных в публичный репозиторий — одна из главных причин утечек. Файл .gitignore предотвращает это.
Артефакты сборки
Директории build, dist, target, out содержат скомпилированный код, который генерируется автоматически из исходников. Хранить их в Git бессмысленно: они занимают место, создают конфликты слияния и замедляют работу с репозиторием.
Как Git отслеживает файлы
Понимание модели отслеживания Git помогает правильно настроить .gitignore и избежать типичных ошибок при работе с репозиторием.
1Рабочая директория (Working Directory)
Все файлы на диске вашего проекта. Git может видеть их или не видеть. Новые файлы, не указанные в .gitignore, имеют статус «untracked». Файлы, перечисленные в .gitignore, Git полностью игнорирует — они не появляются ни в git status, ни в git diff.
2Индекс (Staging Area)
Промежуточная область, где собираются изменения перед коммитом. Команда git add помещает файл в индекс. Файлы .gitignore не могут попасть в индекс через git add ., но если файл уже отслеживается, .gitignore его не удалит.
3Репозиторий (Repository)
После коммита файлы навсегда сохраняются в истории Git. Если вы случайно закоммитили секретный файл, добавление его в .gitignore не удалит его из истории. Для полного удаления нужно использовать git filter-branch или BFG Repo-Cleaner.
4Важный нюанс: уже отслеживаемые файлы
Файл .gitignore действует только на новые файлы (untracked). Если файл уже в репозитории, добавление его в .gitignore не прекратит отслеживание. Нужно сначала убрать файл из индекса командой git rm --cached filename, а затем закоммитить изменение.
Зачем нужен .gitignore
Правильно настроенный .gitignore — основа чистого, безопасного и профессионального репозитория. Вот ключевые задачи, которые он решает.
Чистый репозиторий
Без .gitignore в репозиторий попадают тысячи файлов зависимостей (node_modules, vendor), временные файлы и кэш. Это увеличивает размер в десятки раз и замедляет клонирование.
Защита секретов
API-ключи, пароли баз данных, токены авторизации — всё это хранится в .env файлах. Один неосторожный git push в публичный репозиторий может привести к утечке данных и взлому.
CI/CD пайплайны
Конвейеры сборки и деплоя (GitHub Actions, GitLab CI, Jenkins) работают быстрее, когда репозиторий содержит только исходный код без артефактов сборки и кэша.
Командная работа
Конфигурации IDE (.idea, .vscode) у каждого разработчика свои. Без .gitignore они создают постоянные конфликты слияния и засоряют историю коммитов.
Быстрый git status
Когда Git не нужно проверять тысячи файлов в node_modules, команды git status и git diff работают на порядок быстрее, особенно на больших проектах.
Кроссплатформенность
macOS создаёт .DS_Store, Windows — Thumbs.db. Без .gitignore эти системные файлы попадают в репозиторий и мешают разработчикам на других ОС.
Синтаксис .gitignore/ полное руководство
Файл .gitignore использует простой, но мощный синтаксис паттернов. Каждая строка — это одно правило. Пустые строки и комментарии (начинающиеся с #) игнорируются.
Точное имя файла
Укажите имя файла — Git будет игнорировать его в любой директории проекта. Для файла только в корне используйте слеш в начале.
.env # игнорировать .env в любой директории
/.env # только в корне репозитория
debug.log # любой debug.log в любой папкеWildcard-паттерны (* и **)
Звёздочка * заменяет любые символы (кроме /). Двойная звёздочка ** заменяет любое количество директорий.
*.log # все .log файлы
*.py[cod] # .pyc, .pyo, .pyd файлы
**/build/ # папка build на любом уровне
doc/**/*.pdf # все PDF в doc/ и подпапкахДиректории (слеш в конце /)
Слеш в конце паттерна означает, что правило применяется только к директориям, а не к файлам с таким же именем.
node_modules/ # игнорировать папку node_modules
build/ # игнорировать папку build
logs/ # игнорировать папку logsИсключения (отрицание !)
Восклицательный знак отменяет игнорирование для конкретного файла. Полезно, когда нужно исключить всё кроме одного файла.
*.log # игнорировать все логи
!important.log # но не important.log
.vscode/* # игнорировать всё в .vscode
!.vscode/settings.json # кроме settings.jsonКомментарии (#)
Строки, начинающиеся с #, являются комментариями и игнорируются. Используйте их для документирования правил.
# Зависимости
node_modules/
# Переменные окружения
.env
.env.localСовет: всегда добавляйте .gitignore в первый же коммит проекта. Это проще, чем потом удалять уже отслеживаемые файлы из истории Git.
Глобальный .gitignore: файлы ОС (.DS_Store, Thumbs.db) лучше добавить в глобальный ~/.gitignore_global, чтобы не дублировать в каждом проекте.
Популярные шаблоны по языкам
У каждого языка и фреймворка свои особенности: разные пакетные менеджеры, структуры сборки и конфигурационные файлы. Вот самые распространённые паттерны.
JavaScript / Node.js
React, Vue, Next.js, ExpressГлавное правило — node_modules/ (часто 200+ МБ). Добавляйте .env для переменных окружения, dist/ и build/ для артефактов сборки, coverage/ для отчётов тестов. Для Next.js также .next/ и out/. Yarn и pnpm имеют свои специфичные файлы для игнорирования.
Python
Django, Flask, FastAPIБайт-код Python (__pycache__, *.pyc) — основная цель. Виртуальные окружения (venv/, .venv/) могут весить гигабайты. Для Django — db.sqlite3, media/, staticfiles/. Не забудьте .mypy_cache/, .pytest_cache/ и Jupyter-чекпоинты (.ipynb_checkpoints/).
Java
Maven, Gradle, Spring BootСкомпилированные .class файлы, каталоги target/ (Maven) и build/ (Gradle). Пакеты .jar, .war, .ear тоже игнорируются. Для Spring Boot добавьте application-local.yml. Файлы IDE: .idea/, *.iml, .classpath, .project, .settings/.
Go / Rust
Современные компилируемые языкиGo: бинарные файлы (*.exe, *.dll, *.so), директория vendor/ (если используете вендоринг). Rust: каталог target/ (сборки Cargo) — может весить несколько гигабайт. Оба языка требуют минимальный .gitignore, так как имеют встроенные системы управления зависимостями.
Советы по работе с .gitignore
Практические рекомендации, которые помогут избежать типичных проблем при настройке игнорирования файлов в Git.
1Добавляйте .gitignore сразу
Создавайте .gitignore до первого коммита. Если секретные данные или зависимости уже попали в историю, простое добавление .gitignore не поможет — файлы останутся в прошлых коммитах и могут быть извлечены.
2Используйте глобальный .gitignore
Файлы ОС (.DS_Store, Thumbs.db) и настройки IDE лучше добавить в глобальный файл: git config --global core.excludesfile ~/.gitignore_global. Это избавляет от дублирования в каждом проекте.
3Проверяйте правила
Команда git check-ignore -v filename покажет, какое правило .gitignore применяется к конкретному файлу. Полезно для отладки сложных конфигураций, когда файл игнорируется неожиданно.
4Не игнорируйте lock-файлы
package-lock.json, yarn.lock, Pipfile.lock, Gemfile.lock, go.sum — эти файлы фиксируют точные версии зависимостей и должны быть в репозитории. Без них у разных разработчиков могут установиться разные версии пакетов.
5Используйте .env.example
Вместо .env (который игнорируется) создайте .env.example с пустыми значениями и закоммитьте его. Новые участники проекта скопируют его в .env и заполнят своими значениями. Это стандартная практика в командной разработке.
6Удаление из отслеживания
Если файл уже закоммичен, добавление в .gitignore не поможет. Выполните git rm --cached file для удаления из индекса (файл останется на диске), затем закоммитьте. Для папки: git rm -r --cached folder/.
Часто задаваемые вопросы

Лиана Арифметова
Миссия: Демократизировать сложные расчеты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».
Отказ от ответственности
Только для информационных целей. Все расчёты, результаты и данные, предоставляемые данным инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.
Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.
Медицинские, финансовые и профессиональные решения должны приниматься исключительно на основании консультации с квалифицированными специалистами — врачом, финансовым советником, инженером или другим профессионалом в соответствующей области. Не используйте результаты данного инструмента как единственное основание для принятия важных решений.
Ограничение ответственности. Авторы и разработчики сервиса не несут никакой ответственности за прямой или косвенный ущерб, возникший в результате использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию и применение полученных результатов.
Похожие инструменты
Калькулятор 3D-печати
Расчёты 3D-печати: материал, время, прочность, стоимость, сравнение технологий, постобработка
Калькулятор стальных конструкций: прочность, болты, сварка, ферма
Расчёт стальных конструкций по СП 16.13330: прочность, болтовые и сварные соединения, фермы, сортамент проката.
Калькулятор момента затяжки болта
Расчёт момента затяжки по классу прочности, размеру и покрытию. Таблица стандартных моментов.
Шкала комы Глазго — калькулятор (GCS)
Оцените уровень сознания: открывание глаз, речевая и двигательная реакции. Баллы от 3 до 15. Для врачей скорой помощи.
Калькулятор деревьев для компенсации CO₂
Рассчитайте, сколько деревьев нужно посадить для компенсации углеродного следа. Экологический калькулятор лесовосстановления.
Калькулятор серверной сборки для нейросетей (ИИ) и ML
Конфигуратор GPU-сервера для искусственного интеллекта и машинного обучения. Подбор GPU (A100, H100, L40S), CPU, RAM. Расчёт стоимости и энергопотребления в рублях.
Калькулятор DIY мебели
Расчёт материалов для мебели своими руками: ЛДСП, кромка, фурнитура, конфирматы. Шкаф, стеллаж, тумба, комод.
Калькулятор центростремительной силы
Расчёт центростремительной силы и ускорения. Движение по окружности, угловая скорость, перегрузка (G-force).
Unix Timestamp Converter (перевод времени)
Конвертер Unix Timestamp в дату и обратно. Текущее время Unix, live-режим, форматы ISO 8601, UTC.
Калькулятор счёта за электричество
Стоимость по счётчику. Однотарифный, двухтарифный, трёхтарифный учёт. Тарифы по регионам России 2025.
Калькулятор вирусологии
TCID50 по Риду-Мюнху, бляшкообразующие единицы PFU, MOI, вирусная нагрузка, IC50 антивирусных, burst size.
Калькулятор гаража
Расчёт размеров гаража, материалов, фундамента и стоимости строительства.
Калькулятор сварки
Расчёты сварки: режимы, расход материалов, предварительный нагрев, прочность шва, деформации
Diff-инструмент для сравнения текстов
Сравнение двух текстов с подсветкой различий. Построчный и пословный diff, режимы отображения side-by-side и unified.
Калькулятор снеговой нагрузки: СП 20.13330, районы, mu
Расчёт снеговой нагрузки по СП 20: снеговые районы I-VIII, коэффициент формы mu, снеговые мешки, наледь.