Создаем .gitignore для проектов Python: лучшие практики

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Создадим файл .gitignore для поддержания порядка в репозитории вашего Python-проекта:

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-репозиторий аккуратным и ориентированным на исходный код.

Кинга Идем в IT: пошаговый план для смены профессии

Настройка под ваши инструменты и окружение

Расширьте стандартный .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.

Полезные материалы

  1. gitignore.io – Создайте .gitignore файлы для вашего проекта – инструмент для автоматизации создания .gitignore.
  2. Git – документация gitignoreофициальная документация по .gitignore.
  3. Работа с файлами в Python – Real Python – руководство по управлению файлами в Python, полезно при настройке .gitignore.
  4. os — Interfaces to Operating System Services — Python 3.12.2 Documentation – документация Python по модулю os, полезна при создании скриптов, которые могут быть исключены в .gitignore.
  5. Структурирование вашего проекта — Путеводитель Python для автостопщиковлучшие практики структурирования Python-проекта влияют на содержимое .gitignore.
  6. PEP 8 – Руководство по стилю Python кода | peps.python.org – знание стайлгайда по Python важно для понимания, что следует исключить в .gitignore.