Создаем .gitignore для проектов Python: лучшие практики
Быстрый ответ
Создадим файл .gitignore
для поддержания порядка в репозитории вашего Python-проекта:
# Байт-код, оптимизированные / DLL-файлы
__pycache__/
*.py[cod]
# Файлы конфигурации для venv
venv/
.env
# Файлы дистрибутивов и артефакты упаковки
dist/
*.egg-info/
# Файлы покрытия, кэши и прочие ненужные файлы
.coverage
*.py,cover
.cache/
# Файлы *.py,cover не несут никакого смысла
*.py,cover
# Контрольные точки в Jupyter notebook лучше оставить в стороне
.ipynb_checkpoints
Данный .gitignore
учитывает распространенные "мешающие" элементы в Python-проектах: байт-код, виртуальные среды, артефакты распространения и различные локальные файлы разработчика, сохраняя ваш git-репозиторий аккуратным и ориентированным на исходный код.
Настройка под ваши инструменты и окружение
Расширьте стандартный .gitignore
, настроив его под особенности вашего проекта и окружения. Например, для проектов на Django обычно требуется исключить local_settings.py
, .env
, db.sqlite3
и некоторые медиафайлы.
Исключение пакетов и файлов, специфичных для инструментов
Важно исключить из системы контроля версий пакеты и файлы, предназначенные для использования с определенными инструментами разработки на Python. Например, PyGTK и buildout содержат файлы parts/
и .installed.cfg
, которые не должны попасть в репозиторий. Репозиторий должен оставаться чистым.
Автоматическое создание файла .gitignore
Для начала работы с .gitignore
воспользуйтесь gitignore.io – сервисом для генерации .gitignore
файлов для различных проектов. Однако, не полагайтесь на автоматизацию полностью, чтобы не забыть, как самостоятельно настроить .gitignore
.
Визуализация
Файл .gitignore
выполняет роль команды уборщиков для вашего проекта в системе контроля версий:
| Добавить в .gitignore (🚫) | Оставить в системе контроля версий (✅) |
|-----------------------------------|--------------------------------------|
|Мусор:`__pycache__/` |Полезные файлы:`source_code.py` |
|Ненужные файлы:`.env` |Важная информация:`README.md` |
Вы хотите, чтобы ваш исходный код и документация были видны и доступны (✅), а не засорены мусором (🚫).
Учет операционно-системных файлов
Учитывайте, что операционные системы также генерируют файлы, которые следует исключить. В macOS это .DS_Store
, в Windows – Thumbs.db
. Также стоит исключить директории, создаваемые популярными средами разработки, такими как .idea/
от PyCharm.
Проверка исключения файлов вашего проекта
Убедитесь, что ваш .gitignore
соответствует требованиям проекта. Рабочие процессы и процесс поставки высылвают правила. Файлы журналов, дампы данных или временные файлы, которые нужны лишь в процессе разработки, идеальны для включения в .gitignore
.
Полезные материалы
- gitignore.io – Создайте .gitignore файлы для вашего проекта – инструмент для автоматизации создания
.gitignore
. - Git – документация gitignore – официальная документация по
.gitignore
. - Работа с файлами в Python – Real Python – руководство по управлению файлами в Python, полезно при настройке
.gitignore
. - os — Interfaces to Operating System Services — Python 3.12.2 Documentation – документация Python по модулю
os
, полезна при создании скриптов, которые могут быть исключены в.gitignore
. - Структурирование вашего проекта — Путеводитель Python для автостопщиков – лучшие практики структурирования Python-проекта влияют на содержимое
.gitignore
. - PEP 8 – Руководство по стилю Python кода | peps.python.org – знание стайлгайда по Python важно для понимания, что следует исключить в
.gitignore
.