Настройка рабочей среды
Как отправлять решение задач
Каждому заданию курса соответствует свой репозиторий на GitHub в организации NSU-Programming. Первое, что необходимо сделать до начала работы над заданиями — зарегистрироваться на GitHub. После регистрации сообщите свой логин на GitHub Вашему семинаристу или лектору, и Вам откроют доступ к репозиториям курса.
Чтобы начать решать задачу, сделайте fork соответствующего ей репозитория в свой аккаунт, кликнув на кнопку Fork
, как показано на скриншоте снизу. (Обязательно уберите галочку с "Copy the master branch only").
В результате будет создана Ваша копия (форк) исходного репозитория с задачей. Дальнейшая работа над задачей будет происходить в Вашем форке, а не в исходном репозитории.
В созданном форке нужно перейти на вкладку Actions
и включить Workflows
- это включит автоматическую проверку Вашего решения тестами на GitHub. Только после включения Workflows
для последующих отправок будут запускаться автоматические тесты.
Теперь можно приступать к решению. Для того, чтобы скачать репозиторий себе на компьютер, необходимо выполнить команду git clone
. Но сначала надо создать себе Personal Access Token. Дело в том, что репозитории курса приватные, и поэтому с ними нельзя просто так использовать протокол взаимодействия https. Необходимо будет создать токен, который будет выступать в качестве пароля. На сайте GitHub в правом верхнем углу находим свой аватар, жмем и в выпадающем меню выбираем Settings
. Далее слева в самом низу находим Developer settings
, переходим. Дальше выбираем Personal access torken
-> Generate new token
.
Придумываем название токена (например, study
). Рекомендуем выбрать expiration
(срок валидности ключа) на срок 90 дней: когда Вы станете более опытными, то сможете самостоятельно обновить ключ.
Скопируйте себе этот токен в блокнот: он понадобится Вам в дальнейшем. Ни в коем случае не рекомендуем распространять свой ключ в будущем, дабы избежать чужих вмешательств в Ваши репозитории. Не нужно генерировать токен отдельно для каждой задачи: достаточно сделать это один раз и пользоваться токеном до его истечения.
Перед тем, как начать решать задачу, Вам понадобится скопировать код из удаленного репозитория к себе на компьютер. Уже на компьютере в локальном репозитории нужно будет писать код, делать промежуточные коммиты и осуществлять локальное тестирование. В файле README.md в репозитории содержится описание условия задачи и инструкции по локальному тестированию решения.
Чтобы скопировать репозиторий, нужно копировать https-ссылку на него:
И затем выполнить в терминале команду git clone
:
Репозиторий склонировался:
В процессе решения задания Вы можете несколько раз обновлять код в Вашей версии репозитория на GitHub (подробнее о том, как это сделать, написано в разделе "Что такое Git?"). Каждый раз при этом будут запускаться тесты, аналогичные локальным тестам. Пройдены тесты или нет, можно посмотреть на странице репозитория: ✓ - тесты пройдены, ❌ - не пройдены. В данном случае тесты пройдены успешно, можно сдавать задание.
Отметим важность локальных тестов! Не следует проводить тестирование вашего кода сразу на GitHub. В случае бесконечных циклов Вы можете потратить ваше бесплатное время тестирования на GitHub, и тогда у Вас не скоро получится сдать задачу! Поэтому не стоит делать никаких исправлений напрямую в GitHub, так как сразу запустятся тесты. К тому же это демонстрирует некомпетентность программиста.
Когда Вы готовы сдать задание, необходимо создать pull request (PR) в ветку solution
вашего репозитория. Для этого нажмите кнопку New pull request
во вкладке Pull Requests
Далее выберете свой репозиторий из списка Choose a Base Repository
и затем ветку solution
Проверьте ещё раз ветку, в которую Вы отправляете PR, и нажимайте кнопку
Выберите своего семинариста в списке Reviewers
и Assignees
и окончательно подтвердите PR
Ваш преподаватель получит оповещение и рассмотрит решённую Вами задачу. Чаще всего перед тем, как засчитать задание, он в комментариях к PR будет просить улучшить некоторые аспекты Вашего кода. В этом случае необходимо внести изменения и отправить их в ту ветку, к которой привязан PR. Если всё хорошо, то преподаватель одобрит ваш PR и зачтёт задачу как на скриншоте ниже
Удачи!