.gitignore

Файл .gitignore указывает Git, какие файлы и папки НЕ отслеживать.

Зачем нужно

Чтобы не коммитить в репозиторий ненужное: зависимости (node_modules), секреты (.env), билды (dist), кэш, логи.

Где используется

  • Любой Git-репозиторий — .gitignore в корне
  • Монорепо — вложенные .gitignore в подпроектах
  • GitHub — предлагает шаблоны при создании репозитория

Предпосылки

Синтаксис

# Комментарий
node_modules/       # Папка целиком
*.log               # Все файлы с расширением .log
.env                # Конкретный файл
dist/               # Папка билда
!dist/index.html    # Исключение — НЕ игнорировать
**/*.tmp            # Рекурсивно во всех подпапках

Типичный .gitignore для JS-проекта

node_modules/
dist/
build/
.env
.env.local
*.log
.DS_Store
Thumbs.db
.idea/
.vscode/
coverage/

Важные правила

  1. Работает только для неотслеживаемых файлов — уже закоммиченные не скроет
  2. Убрать уже отслеживаемый файл:
git rm --cached .env
git commit -m "Remove .env from tracking"
  1. Глобальный .gitignore:
git config --global core.excludesFile ~/.gitignore_global

Частые ошибки

  • Забыть .env — утечка секретов
  • Коммитнуть node_modules/ — раздувает репо
  • Добавить .gitignore после первого коммита — файлы уже отслеживаются

Связанные темы

Ресурсы


Предыдущая: Conventional Commits | Следующая: Создание репозитория