Руководство по генератору .gitignore: быстрое создание правил игнорирования по типу проекта

Утилиты

Что такое .gitignore

Файл .gitignore указывает Git, какие файлы/директории не должны находиться под версионным контролем:

node_modules/       ← Игнорировать всю директорию
*.log               ← Игнорировать все файлы журналов
.env                ← Игнорировать файл переменных окружения
dist/               ← Игнорировать вывод сборки

Нетрекируемые файлы, соответствующие правилам .gitignore, автоматически пропускаются Git. Уже отслеживаемые файлы не затрагиваются.


Правила синтаксиса

Базовые шаблоны

Синтаксис Значение Пример
*.ext Совпадение со всеми файлами .ext *.log
dir/ Совпадение со всей директорией node_modules/
file Совпадение с конкретным файлом .env
** Совпадение с любым уровнем директории **/test
? Совпадение с одним символом config?.json
[abc] Совпадение с любым символом в скобках file[123].txt

Шаблон отрицания !

*.log           ← Игнорировать все журналы
!important.log  ← Но сохранить important.log

Шаблоны отрицания должны размещаться после правила игнорирования, которое они отменяют.

Правила путей

/README.md      ← Игнорировать только README.md в корне
README.md       ← Игнорировать README.md на любом уровне
docs/*.pdf      ← Игнорировать PDF в docs/, нерекурсивно
docs/**/*.pdf   ← Игнорировать PDF во всех подкаталогах docs/

Распространённые шаблоны проектов

Node.js

node_modules/
dist/
build/
.next/
.env
.env.local
*.log
coverage/

Python

__pycache__/
*.py[cod]
*.egg-info/
dist/
.venv/
venv/
.env
.pytest_cache/
.mypy_cache/

Java / Spring Boot

target/
*.class
*.jar
*.war
.gradle/
.idea/
*.iml
application-local.yml

IDE / Редакторы

# VS Code
.vscode/

# IntelliJ IDEA
.idea/
*.iml

# macOS
.DS_Store

# Windows
Thumbs.db

Использование инструмента gitignore

Шаг 1: Открыть инструмент

Перейдите к инструменту gitignore, чтобы войти в интерфейс генератора.

Шаг 2: Выбрать тип проекта

Отметьте технологии, используемые в вашем проекте:

  • ☑ Node.js
  • ☑ Python
  • ☑ Java
  • ☑ Vue / React / Angular

Шаг 3: Выбрать IDE

Отметьте редакторы, используемые вашей командой:

  • ☑ VS Code
  • ☑ IntelliJ IDEA
  • ☑ Другой

Шаг 4: Сгенерировать и скачать

Нажмите «Сгенерировать». Инструмент автоматически объединит все шаблоны, удалит дубликаты и создаст полный файл .gitignore.

Шаг 5: Поместить в корень проекта

Поместите скачанный файл в корень вашего Git-репозитория. Убедитесь, что имя файла — .gitignore (обратите внимание на начальную точку).


Глобальный gitignore

Помимо проектного .gitignore, вы можете настроить глобальные правила игнорирования (применяются ко всем репозиториям):

# Установить файл глобального gitignore
git config --global core.excludesFile ~/.gitignore_global

# Редактировать глобальные правила
vim ~/.gitignore_global

Рекомендуемые глобальные игнорирования:

# Системные файлы
.DS_Store
Thumbs.db

# Конфигурации IDE
.idea/
.vscode/

# Личные инструменты
.todo

Глобальные правила предназначены для файлов личного окружения. Проектные правила — для специфичных файлов проекта.


Обработка уже отслеживаемых файлов

.gitignore влияет только на нетрекируемые файлы. Если файл уже отслеживается Git:

# Прекратить отслеживание, но сохранить локальный файл
git rm --cached .env

# Прекратить отслеживание целой директории
git rm -r --cached node_modules/

# Закоммитить изменение прекращения отслеживания
git commit -m "chore: update gitignore and untrack files"

Флаг --cached обеспечивает удаление только из индекса Git без удаления локального файла.


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

Ошибка Причина Решение
Правило не работает Файл уже отслеживается Сначала выполните git rm --cached
Отрицание не работает ! размещено перед правилом игнорирования Переместите правило ! после соответствующего правила игнорирования
Игнорируется слишком много Шаблон слишком широкий Используйте / для ограничения области пути
Забыли игнорировать .env Отсутствует шаблон переменных окружения Всегда добавляйте .env в .gitignore
Правила команды несогласованы Нет унифицированного шаблона Используйте инструмент для генерации стандартного шаблона

.gitignore и .gitkeep

После игнорирования директории Git не отслеживает пустые директории. Чтобы сохранить структуру пустых директорий:

logs/           ← .gitignore игнорирует logs
logs/.gitkeep   ← .gitkeep как заполнитель, сохраняет директорию

.gitkeep — это не функция Git, а соглашение сообщества. Поместите файл .gitkeep в пустую директорию.


Итоги

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

#gitignore#Git#忽略规则#项目配置#版本控制