Skip to content
This repository was archived by the owner on Jul 2, 2024. It is now read-only.

Commit e4f1b3c

Browse files
Add details how to push HWs
1 parent fcddd9b commit e4f1b3c

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

PR_explanation.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Как сдавать домашки
2+
3+
При помощи пулл-реквеста на GitHub.
4+
5+
## Что должно быть в репозитории??
6+
7+
- Код проекта
8+
- Файл requirements.txt
9+
10+
### Что за файл requirements.txt? Зачем он нужен?
11+
12+
![](https://pbs.twimg.com/media/CvIhqpqWYAA92B9.jpg)
13+
14+
Файл `requirements.txt` необходим для контроля зависимостей.
15+
16+
Вы создавали виртуальное окружение именно для того, что бы несколько ваших проектов, не могли "мешать" друг другу.
17+
18+
Каждое отдельное окружение полностью не зависит от других. Но как другой разработчик должен присоединятся к вашему
19+
проекту? Для этого и используется файл зависимостей.
20+
21+
Предварительно мы должны убедиться, что виртуальное окружение активировано, и что мы находимся на том же самом уровне
22+
вложенности папок, где находится файл `manage.py`.
23+
24+
Что бы создать такой файл используется команда в командной строке:
25+
26+
```
27+
pip freeze > requirements.txt
28+
```
29+
30+
Примерное содержимое такого файла:
31+
32+
```
33+
asgiref==3.6.0
34+
Django==4.1.5
35+
psycopg2==2.9.5
36+
sqlparse==0.4.3
37+
tzdata==2022.7
38+
```
39+
40+
Это список всего, что установленно в вашем виртуальном окружении.
41+
42+
#### Как это может использовать другой разработчик?
43+
44+
После клона вашего проекта и создания своего виртуального окружения достаточно выполнить всего одну команду
45+
46+
```
47+
pip install -r requirements.txt
48+
```
49+
50+
И получить полную копию виртуального окружения, с вашими зависимостями.
51+
52+
## Чего не должно быть в репозитории??
53+
54+
Если коротко, то ничего лишнего.
55+
56+
- Папок `__pycache__` и любого его содержимого.
57+
- Файлов настроек `IDE` например папки `.idea` или аналогов для других `IDE`
58+
- Для маков, файлов `.DS_Store`
59+
- Файла со стандартной базой данных, `db.sqlite3`
60+
61+
Все эти файлы и папки должны быть занесены в `.gitignore`
62+
63+
## Как создать проект и репозиторий корректно (Делается один раз когда нам необходимо создать новый проект)
64+
65+
Действия по пунктам:
66+
67+
1. Создать виртуальное окружение
68+
2. Установить необходимые зависимости
69+
3. Создать проект и приложение при помощи команд консоли
70+
4. Создать файл requirements.txt
71+
5. Создать репозиторий
72+
6. Подключить репозиторий к проекту (git remote ...)
73+
7. Создать и заполнить `.gitignore`
74+
8. Убедиться, что мы работаем в ветке `master`
75+
9. Закоммитить всё что у вас есть в свежем проекте.
76+
10. Запушить пустой проект и пустое приложение в мастер.
77+
11. Добавить меня в колабораторы проекта. Ник на гитхабе (PonomaryovVladyslav)
78+
79+
## Как делать домашку
80+
81+
1. Создать **из мастера** ветку, в названии которой будет информация о том, что это домашка и её номер. Например `hw_3`
82+
2. Выполнить домашнюю работу :) Рекомендуется коммитить изменения после любого осмысленного блока. Добавили кнопку,
83+
коммит. Создали рабочий урл, коммит, итд.
84+
3. Выполнить **пуш** этой ветки на удалённый репозиторий.
85+
4. Создать **пулл-реквест** из ветки с вашей **домашней работы** на **мастер**
86+
5. Добавить меня в раздел `Reviewers`
87+
6. Дождаться моего апрува или коментариев, что нужно изменить
88+
89+
6.1. Если получили коментарии о необходимости изменений, изменения добавляем на ветку **домашней работы** после чего
90+
выполняем **пуш**, пулл реквест сам обновится, и я получу уведомление об этом автоматически.
91+
7. После того как получили апрув, мержим изменения в мастер.
92+
93+
## Что делать если я уже внёс файлы __pycache__ или .idea на гит?
94+
95+
В этом случае вам надо удалить файлы из гита, но сохранить их на локальной версии.
96+
97+
Для этого необходимо выполнить команду:
98+
99+
```
100+
git rm <file Relative path> --cached
101+
```
102+
103+
Для каждого файла или папки.
104+
105+
После чего выполнить коммит и пуш снова.

0 commit comments

Comments
 (0)