Прежде чем опубликовать любой проект на GitHub нужно его правильно подготовить…
А для этого вам нужно проверить некоторые вещи:
Секретные данные:
settings.py
не содержит секретных ключей, паролей или других конфиденциальных данных.Несколько мини-уроков по теме:
Python и переменные окружения | Где и как хранить секреты в коде | .env, .gitignore
Работаем с переменными окружения в python (два способа)
Если вы читаете этот текст после курса по Django, ваш .env файл может содержать, например, следующие данные:
SECRET_KEY=
DEBUG=True
ALLOWED_HOSTS=
INTERNAL_IPS=
DATABASE_URL=
EMAIL_HOST=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
SOCIAL_AUTH_GITHUB_KEY=
SOCIAL_AUTH_GITHUB_SECRET=
REDIS_URL=
Не забудьте добавить этот файл в .gitignore! (следующий пункт)
.gitignore:
Создайте файл .gitignore
для исключения ненужных файлов. Подробнее про создание и исключение файлов из git-а можно почитать здесь:
База данных:
Виртуальное окружение:
Миграции:
Статические файлы:
.gitignore
после предыдущих шагов.Файл requirements.txt:
Создайте файл со списком всех зависимостей проекта.
Файл requirements.txt
критически важен при публикации проекта на GitHub, так как он содержит список всех Python-зависимостей проекта. Это обеспечивает воспроизводимость среды разработки, упрощает процесс развертывания и совместной работы над проектом. С его помощью новые разработчики могут быстро настроить окружение, а инструменты CI/CD легко установить нужные пакеты. Файл служит своеобразной документацией используемых библиотек, помогает контролировать версии зависимостей и обеспечивает совместимость между разными системами. В целом, requirements.txt значительно облегчает управление проектом и его зависимостями.
Команда для создания файла:
pip freeze > requirements.txt
Лицензия:
Добавьте файл LICENSE с выбранной вами лицензией. Почитать подробнее про разные типы лицензий можно здесь:
Licensing a repository - GitHub Docs
Для простого пет проекта можно использовать MIT лицензию. Лицензия MIT позволяет свободное использование, копирование, модификацию и распространение программного обеспечения при условии, что везде будет указан оригинальный автор и текст лицензии, а сам код предоставляется без каких-либо гарантий.
Проверка кода:
Итак, после того, как все подготовительные работы выполнены, переходим к публикации!)
Заходим в аккаунт на GitHub, тыкаем в создание нового репо
Называем проект и выбираем в каком виде вы хотите разместить его на репозитории - приватном или публичном.
Нажимаем создать.
Далее выполняем ряд команд в терминале (находясь в папке проекта):
# инициализация git в проекте
git init
# переименовываем основную ветку в main
# не обязательно, но рекомендуется github-ом
git branch -M main
# добавление всех файлов в git (кроме тех, что в .gitignore)
git add .
# создаём первый коммит
git commit -m "Initial commit"
# связываем наш локальный проект с проектом на GitHub
git remote add origin [email protected]:**yourusername/yourproject**.git
# заливаем файлы на GitHub
git push -u origin main
Вот, собственно и все шаги)