Перейти к содержанию

Как сдавать работы

Работа сдаётся не файлом в чат, а Pull Request — запросом на слияние в вашем личном репозитории. Это нужно, чтобы замечания вставали прямо у строк кода, а история сдач оставалась видимой.

Схема такая: вы пишете код в отдельной ветке, открываете Pull Request, преподаватель читает и оставляет замечания. Когда всё в порядке — работа вливается в основную ветку main, и это означает «сдано».

Если вы раньше не работали с GitHub — делайте ровно по шагам, придумывать ничего не нужно.

Как называется работа

Имя папки и ветки складывается из курса, вида работы и номера:

Вид работы Папка Ветка
Лабораторная OOP/lab-01/ OOP/lab-01
Домашнее задание OOP/hw-01/ OOP/hw-01
Самостоятельная OOP/self-01/ OOP/self-01

Самостоятельная — это не проверочная, а изучение темы с письменным отчётом: что поняли, какие варианты рассмотрели, чем платите за выбранный. Код, если он по теме нужен, лежит там же в src/.

Курс — OOP, Parallel или TechProg, папка с таким именем уже есть в вашем репозитории. Вид и номер всегда написаны в самой задаче.

Дальше в примерах — домашнее задание по ООАП, то есть OOP/hw-01. Для лабораторной или самостоятельной подставьте своё.

Что откуда брать

ИМЯ-РЕПОЗИТОРИЯ ниже — имя вашего личного репозитория, оно есть в комментарии робота к вашей заявке.

Шаг 1. Скачать репозиторий к себе

Один раз на компьютере. Адрес — зелёная кнопка Code, вкладка HTTPS:

Кнопка Code, вкладка HTTPS

git clone https://github.com/radilov-spsu/ИМЯ-РЕПОЗИТОРИЯ.git
cd ИМЯ-РЕПОЗИТОРИЯ

Если git попросит логин и пароль — пароль от GitHub не подойдёт. Проще всего поставить GitHub CLI и один раз выполнить gh auth login, дальше git перестанет спрашивать.

Шаг 2. Создать ветку для работы

Ветка — отдельная линия правок, чтобы не трогать основную. Название фиксированное: курс, косая черта, номер работы.

git checkout main
git pull
git checkout -b OOP/hw-01

Проверить, где вы сейчас: git branch --show-current — должно вывести OOP/hw-01.

Шаг 3. Написать работу

Файлы кладите только внутрь папки своего курса:

OOP/hw-01/src/      ← сюда код
OOP/hw-01/README.md ← сюда описание и схема (файл уже есть, заполните его)

Папки других курсов не трогайте.

Шаг 4. Сохранить изменения в git

git add OOP/hw-01
git commit -m "ООАП, ДЗ 1: модель Библиотеки"

Коммитов может быть сколько угодно — делайте их по ходу работы, а не один в конце. Сообщение отвечает на вопрос «что изменилось и зачем»: добавил инварианты Loan — хорошо; fix, готово, 2 — плохо. История коммитов входит в оценку.

Шаг 5. Отправить ветку на GitHub

git push -u origin OOP/hw-01

В ответ git напечатает ссылку вида https://github.com/radilov-spsu/…/pull/new/OOP/hw-01 — по ней сразу открывается создание Pull Request. Дальше пушить проще: git push.

Шаг 6. Открыть Pull Request

Откройте ссылку из шага 5 — или вкладка Pull requests → зелёная кнопка New pull request.

Экран создания Pull Request

Проверьте, что вверху выбрано:

  • base: main — куда вливаем;
  • compare: OOP/hw-01 — что вливаем.

Заголовок — понятный, например ООАП, ДЗ 1: модель Библиотеки. В теле уже подставлен шаблон: заполните его целиком и отметьте галочки самопроверки. Нажмите Create pull request.

Шаг 7. Связать Pull Request с заданием

Теперь, когда Pull Request создан, справа появился блок Development. Нажмите шестерёнку рядом с ним и выберите в списке своё задание:

Блок Development, выбор задания

Готово — под обсуждением появится запись «linked an issue», а задание закроется само, когда работу примут:

Задание связано с работой

Шестерёнки нет?

На экране создания Pull Request её и не бывает — она появляется только после того, как вы нажали Create pull request. Если связать забыли, это можно сделать в любой момент позже.

Шаг 8. Проверить, что преподаватель назначен ревьюером

Справа есть блок Reviewers. Преподаватель добавляется туда автоматически через несколько секунд после открытия Pull Request — обновите страницу.

Блок Reviewers

Если через минуту его там нет — нажмите шестерёнку рядом с Reviewers, начните набирать Nemo-Illusionist и выберите его.

Шаг 9. Дождаться проверки и поправить замечания

Замечания придут комментариями к конкретным строкам кода — отвечать можно прямо там же.

Новый Pull Request создавать не нужно. Правьте в той же ветке:

git add OOP/hw-01
git commit -m "поправил инварианты по замечаниям"
git push

Pull Request обновится сам. Когда всё в порядке, преподаватель вливает его в main — работа сдана, задание закрывается.

Частые ошибки

Ошибка Что не так
Коммит прямо в main Работа обязана приехать через Pull Request — иначе замечания некуда писать
Файлы вне своей папки Всё, что добавляете, лежит в папке работы, например OOP/hw-01/
Один коммит «сделал всё» История коммитов — часть оценки
В репозитории bin/, obj/, .vs/ Это результат сборки, в git он не нужен; для того и лежит .gitignore
Pull Request не связан с заданием Задание не закроется само — свяжите через блок Development

Застряли на любом шаге — напишите комментарием прямо в своё задание.