Краткое описание
Задание выполняется в форке основного репозитория лабораторной работы. Затем вы посылаете pull request в основной репозиторий. Преподаватель проверяет ваш код и даёт комментарии.
Детальная инструкция
Для примера возьмём следующий репозиторий. Внимание! Этот репозиторий здесь для примера, сейчас никто не использует его для сдачи заданий.
- Сделайте fork репозитория под своим именем.
Теперь у Вас есть собственная версия репозитория, которая связана с основным репозиторием.
-
В Вашем репозитории выполните задание, делая коммиты по мере необходимости. Лучше делать коммиты чаще. Любое небольшое изменение кода может вести к коммиту; лучше не смешивать разные по смыслу изменения в одном коммите.
-
Когда Вы готовы к сдаче задания, в Вашем репозитории зайдите в раздел Merge Requests.
Выберите Create new merge request.
- В открывшейся форме выберите ветку вашего форка и ветку, в которую вы хотите влиться в основном репозитории (обычно
master
).
Выберите Compare branches and continue.
Так вы посылаете запрос на принятие изменений из выбранной ветки Вашего репозиторию в ветку master
или main
репозитория с заданием.
- Впишите дополнительную информацию в эту форму, если для Вашего курса есть специальные требования, и нажмите Submit merge request.
- Готово! Преподаватель может произвести code review и он будет выглядеть для вас примерно так:
Полезные советы
-
Как синхронизировать ваш форк с основным репозиторием лабораторной?
-
Если Вы используете Windows Subsystem for Linux, в ней есть несколько кусков файловой системы; в один из них отображаются диски С,D и т.д. из Windows. Оттуда можно без проблем читать данные, но запись в разделы Windows из Linux внутри WSL может вести к проблемам из-за разной системы разрешений на файлы.
Советуем клонировать репозитории в часть файловой системы, сответствующую Linux (например, в домашнюю директорию)
-
Если же у Вас был репозиторий в NTFS-части файловой системы, то есть шанс что при коммите разрешения файлов на запись, чтение и выполнение, которые хранит git, будут утеряны. Это ведёт к таким ошибкам, когда исполняемые файлы для тестов перестают запускаться на удалённой машине, потому что у них нет разрешений на выполнение. В таком случае нужно сделать
git update-index --chmod=+x имя_файла
, где вписать имена файлов с попорченными разрешениями, и закоммитить эти файлы еще раз. Внимательно следите, какие файлы на самом деле добавляются в коммиты!