С чего начать файл .gitignore
Сначала исключите то, что сборка или установка зависимостей создадут заново: кеши, временные файлы, результаты компиляции. Для Next.js выберите также Node.js, а для Java — используемую систему сборки, Maven или Gradle.
Встроенные 18 шаблонов — короткая основа для настройки, а не полная копия коллекции GitHub. Генератор не анализирует репозиторий. Скачайте .gitignore с точкой в начале имени, проверьте содержимое и объедините его с уже существующими правилами.
Почему настройки редактора исключаются не целиком
В папках VS Code и JetBrains может храниться общая конфигурация команды. Шаблоны исключают только отдельные личные данные и историю работы. Правила, нужные лишь на вашем компьютере, можно поместить в .git/info/exclude.
Файлы фиксации зависимостей, включая package-lock.json и Cargo.lock, по умолчанию не исключаются. Решение об их хранении зависит от экосистемы и от того, выпускаете вы приложение или библиотеку.
Примеры для трёх конфигураций
Проект Next.js
Зависимости Node.js, результаты Next.js и метаданные macOS. Файлы фиксации версий остаются.
Вернуться к генератору ↑# Создано генератором Gitignore от LightNode
# Проверьте базовые правила перед добавлением в проект.
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-store/
coverage/
.nyc_output/
# Next.js
.next/
out/
.vercel/
*.tsbuildinfo
# macOS
.DS_Store
._*
.Spotlight-V100/
.Trashes/
Окружение Python
Окружения и кеши Python, история VS Code и резервные копии Linux.
Вернуться к генератору ↑# Создано генератором Gitignore от LightNode
# Проверьте базовые правила перед добавлением в проект.
# Python
__pycache__/
*.py[cod]
.venv/
venv/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
*.egg-info/
# VS Code
.history/
*.vsix
# Linux
.Trash-*/
*~
Java и IntelliJ
Maven и Gradle, личные данные JetBrains и метаданные Windows. Уберите неиспользуемую систему сборки.
Вернуться к генератору ↑# Создано генератором Gitignore от LightNode
# Проверьте базовые правила перед добавлением в проект.
# Java / Maven
*.class
target/
# Gradle
.gradle/
build/
# JetBrains
.idea/workspace.xml
.idea/tasks.xml
.idea/shelf/
.idea/httpRequests/
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
Вопросы о правилах исключения
Почему .gitignore не работает с уже добавленным файлом?
Игнорирование не прекращает отслеживание. Проверьте правило командой git check-ignore -v --no-index path/to/file. Если файл действительно нужно убрать из-под контроля версий, git rm --cached -- path/to/file подготовит удаление из репозитория, сохранив локальную копию. Проверьте изменение перед коммитом.
Как оставить один файл в каталоге логов?
После /logs/* добавьте !/logs/keep.log. Не исключайте сам родительский каталог правилом /logs/: иначе повторно включить файл внутри него нельзя.
Зачем сохранять повторяющиеся строки?
При одинаковом приоритете действует последнее совпавшее правило. Поэтому шаблоны идут в фиксированном порядке, свои правила добавляются в конец, а дубликаты не удаляются. Смена комбинации сохраняет свой текст; очистка удаляет и текст, и выбор.
Можно ли оставить образец .env?
Шаблон окружения исключает .env и .env.*, но оставляет .env.example и .env.sample. В образцах должны быть только условные значения. Старые коммиты и уже попавшие в них секреты эти правила не очищают.
Отправляется ли содержимое на сервер?
Генерация выполняется в браузере без загрузки репозитория и без API генерации. Свои правила не сохраняются постоянно и не включаются в URL.
