calcal.ru
Инструмент для разработчиков

Генератор .gitignore

Выберите язык программирования, фреймворк и IDE — получите готовый файл .gitignore с подробными комментариями на русском языке. Скопируйте или скачайте за секунду.

30+
Технологий
Языки, фреймворки, IDE и ОС
8
Готовых пресетов
Популярные комбинации в один клик
100%
На русском
Комментарии и описания
0 сек
Генерация
Мгновенный результат

Что такое .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/.

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

Файл .gitignore указывает Git, какие файлы и директории не нужно отслеживать в системе контроля версий. Он позволяет исключить зависимости (node_modules, vendor), артефакты сборки (dist, build), секретные данные (.env), файлы ОС (.DS_Store) и настройки IDE (.idea, .vscode). Без .gitignore репозиторий засоряется ненужными файлами, увеличивается в размере и становится небезопасным.
Основной файл .gitignore размещается в корневой директории репозитория. Но вы можете создавать дополнительные .gitignore файлы в любых поддиректориях — правила в них будут действовать только для содержимого этой папки и вложенных. Также существует глобальный .gitignore (обычно ~/.gitignore_global), который применяется ко всем вашим репозиториям.
Файл .gitignore влияет только на файлы со статусом «untracked» (не отслеживаемые). Если файл уже был добавлен в Git и закоммичен, .gitignore его не затронет. Чтобы прекратить отслеживание, выполните команду «git rm --cached filename» — это удалит файл из индекса Git, но оставит на диске. После этого закоммитьте изменение.
Да, .gitignore должен быть в репозитории и отслеживаться Git. Это позволяет всем участникам команды использовать одни и те же правила игнорирования. Лучшая практика — добавить .gitignore в самый первый коммит проекта, ещё до добавления зависимостей.
Используйте файл .git/info/exclude — он работает как .gitignore, но не отслеживается и не виден другим разработчикам. Также можно настроить глобальный .gitignore через команду «git config --global core.excludesfile ~/.gitignore_global» для правил, общих для всех ваших проектов (например, файлы вашей IDE).
Команда «git check-ignore -v filename» покажет, какое именно правило и из какого файла .gitignore применяется к данному файлу. Это незаменимо для отладки сложных конфигураций с несколькими уровнями .gitignore и исключениями через восклицательный знак (!).
Немедленно смените все скомпрометированные ключи и пароли. Добавление файла в .gitignore не удалит его из истории. Для полной очистки используйте инструмент BFG Repo-Cleaner или «git filter-branch». После очистки нужно сделать force push, а все участники должны пересоздать свои локальные копии.
Одинарная звёздочка (*) соответствует любым символам внутри одной директории (не пересекает /). Двойная звёздочка (**) соответствует любому количеству вложенных директорий. Например, «*.log» найдёт все .log файлы в текущей папке, а «**/*.log» — во всех папках на любом уровне вложенности.
Нет, lock-файлы должны быть в репозитории. Они фиксируют точные версии всех зависимостей и гарантируют, что у всех разработчиков и в CI/CD будут установлены одинаковые версии пакетов. Игнорирование lock-файлов может привести к ошибкам «у меня работает, а у тебя нет».
Да, но учтите: если вы добавляете новые правила в .gitignore, ранее закоммиченные файлы продолжат отслеживаться. Скопируйте результат генератора в ваш .gitignore, затем выполните «git rm -r --cached .» и «git add .» для переиндексации всех файлов с учётом новых правил. После этого закоммитьте изменения.
Лиана Арифметова
Создатель

Лиана Арифметова

Миссия: Демократизировать сложные расчеты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

⚖️

Отказ от ответственности

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые данным инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

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

Ограничение ответственности. Авторы и разработчики сервиса не несут никакой ответственности за прямой или косвенный ущерб, возникший в результате использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию и применение полученных результатов.

Похожие инструменты

⚙️

Калькулятор 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, снеговые мешки, наледь.