Инструкция по сдаче заданий
В рамках курса вам будут предложены домашние задания и практики. В большинстве случаев сдача происходит с помощью GitHub.Classroom.
Вам необходимо настроить взаимодействие с репозиторием через SSH-ключи по инструкции от Github. В дальнейшем ВСЕ ссылки на репозитории, в частности для клонирования, должны быть в формате ssh. В противном случае у вас сломается настройка репозитория.
Настройка репозитория с заданием
- К каждому заданию будет приложена инвайт-ссылка на GitHub Classroom, после перехода по ней у вас создастся приватный репозиторий со стартовым кодом, тестами и конфигурациями. Склонируйте его и выполняйте задания в нём.
- После первого клона (вообще, а не на какой-то конкретной машине) нужно инициализировать ветки запуском соответствующего скрипта из корня репозитория:
./init-repo.sh
- При каждом следующем клоне вашего репозитория, если такие вдруг будут, выполнять этот скрипт повторно не нужно.
- После этого вы можете коммитить в любые ветки кроме
feedback
, которая будет соответствоватьupstream/master
Подтягивание новых тестов и других изменений
Иногда нам приходится править какие-то проблемы в конфигурациях или добавлять новые тесты. Чтобы обновлять репозитории и не ломать PR, пользуйтесь специальным скриптом.
ВНИМАНИЕ: перед его работой вам необходимо либо закоммитить последние изменения, либо сохранить куда-то незакомиченные изменения, например, с помощью git-stash.
Чтобы подтянуть сами изменения, достаточно выполнить следующую команду из корня репозитория:
./update-repo.sh
Сдача
Для сдачи решения необходимо сделать следующее:
- Сделайте коммит(ы) с вашим решением. Проследите, чтобы в коммит попали только файлы с решением (при необходимости можете дополнять .gitignore), а файлы с тестами не изменились.
- Перенесите решение в ветку
master
, если не делали сразу всё в ней. - Запушьте
master
на удалённый репозиторий. - Проверьте, что у вас обновлены тесты и конфигурации (можно просто запустить соответствующий скрипт).
- Создайте Pull Request (PR)
master -> feedback
, если у вас его ещё нет. - Удостоверьтесь, что тесты в тестирующей системе прошли (в PR появится зелёная галочка, также можно посмотреть подробности на вкладке "Checks").
- ВНИМАНИЕ! НИ В КАКОЙ МОМЕНТ ВРЕМЕНИ НЕ НУЖНО МЁРДЖИТЬ PR!
- Пришлите с помощью формы заявку на проверку с ссылкой на этот PR.
- В случае первой сдачи (или если все ваши сдачи были проверены на
/
) выберите режимсдача
, иначе —правки
. - Дождитесь проверки. Исправьте замечания и, если они есть, повторите процесс.
Процесс проверки
- В процессе проверки преподаватель будет оставлять комментарии в вашем пулл-реквесте. Комментарии — это замечания, которые нужно исправлять.
- Некоторые комментарии могут быть помечены
[note]
, их исправление необязательно — чаще всего это предложения альтернативных решений, иногда выходящих за рамки курса. - Закрывать ("resolve") комментарии может только преподаватель.
- На каждый оставленный комментарий нужно ответить: либо кратко написать, как поправили (если комментарий однозначно указывает, как решить проблему — достаточно "fixed"), либо, если вы считаете, что замечание некорректно и вам не нужно ничего исправлять, обосновать это в ответе. Это требование уменьшает вероятность того, что какое-то из замечаний будет случайно проигнорировано.
- Задание считается полностью сделанным, только если не осталось ни одного неисправленного комментария кроме
[note]
. - Не стоит посылать заявку на проверку правок до того, как вы исправили все замечания (или ответили на них).
- Любые коммиты, сделанные после посылки формы и до её проверки, делаются на ваш страх и риск, так как могут произойти уже после того, как преподаватель начал проверку.