Skip to content

Latest commit

 

History

History
106 lines (72 loc) · 5.66 KB

pr_explanation_django.md

File metadata and controls

106 lines (72 loc) · 5.66 KB

Как сдавать домашки по Django

При помощи пулл-реквеста на GitHub.

Что должно быть в репозитории??

  • Код проекта
  • Файл requirements.txt

Что за файл requirements.txt? Зачем он нужен?

Файл requirements.txt необходим для контроля зависимостей.

Вы создавали виртуальное окружение именно для того, что бы несколько ваших проектов, не могли "мешать" друг другу.

Каждое отдельное окружение полностью не зависит от других. Но как другой разработчик должен присоединятся к вашему проекту? Для этого и используется файл зависимостей.

Предварительно мы должны убедиться, что виртуальное окружение активировано, и что мы находимся на том же самом уровне вложенности папок, где находится файл manage.py.

Что бы создать такой файл используется команда в командной строке:

pip freeze > requirements.txt

Примерное содержимое такого файла:

asgiref==3.6.0
Django==4.1.5
psycopg2==2.9.5
sqlparse==0.4.3
tzdata==2022.7

Это список всего, что установленно в вашем виртуальном окружении.

Как это может использовать другой разработчик?

После клона вашего проекта и создания своего виртуального окружения достаточно выполнить всего одну команду

pip install -r requirements.txt

И получить полную копию виртуального окружения, с вашими зависимостями.

Чего не должно быть в репозитории??

Если коротко, то ничего лишнего.

  • Папок __pycache__ и любого его содержимого.
  • Файлов настроек IDE например папки .idea или аналогов для других IDE
  • Для маков, файлов .DS_Store
  • Файла со стандартной базой данных, db.sqlite3

Все эти файлы и папки должны быть занесены в .gitignore

Как создать проект и репозиторий корректно (Делается один раз когда нам необходимо создать новый проект)

Действия по пунктам:

  1. Создать виртуальное окружение
  2. Активируем виртуальное окружение
  3. Установить необходимые зависимости
  4. Создать проект и приложение при помощи команд консоли
  5. Создать файл requirements.txt
  6. Создать репозиторий
  7. Подключить репозиторий к проекту (git remote ...)
  8. Создать и заполнить .gitignore
  9. Убедиться, что мы работаем в ветке master
  10. Закоммитить всё что у вас есть в свежем проекте.
  11. Запушить пустой проект и пустое приложение в мастер.
  12. Добавить меня в колабораторы проекта. Ник на гитхабе (PonomaryovVladyslav)

Как делать домашку

  1. Создать из мастера ветку, в названии которой будет информация о том, что это домашка и её номер. Например hw_3

  2. Выполнить домашнюю работу :) Рекомендуется коммитить изменения после любого осмысленного блока. Добавили кнопку, коммит. Создали рабочий урл, коммит, итд.

  3. Выполнить пуш этой ветки на удалённый репозиторий.

  4. Создать пулл-реквест из ветки с вашей домашней работы на мастер

  5. Добавить меня в раздел Reviewers

  6. Дождаться моего апрува или коментариев, что нужно изменить

    6.1. Если получили коментарии о необходимости изменений, изменения добавляем на ветку домашней работы после чего выполняем пуш, пулл реквест сам обновится, и я получу уведомление об этом автоматически.

  7. После того как получили апрув, мержим изменения в мастер.

Что делать если я уже внёс файлы pycache или .idea на гит?

В этом случае вам надо удалить файлы из гита, но сохранить их на локальной версии.

Для этого необходимо выполнить команду:

git rm <file Relative path> --cached

Для каждого файла или папки.

После чего выполнить коммит и пуш снова.