Текущие настройки конфигурации можно вывести командой:
git config --list
В выводе этой команды необходимо обратить внимание на первые две строки: user.name и user.email. В них должны быть указаны корретные данные акканута студента. Свои данные можно найти в настройках аккаунта на git.moevm.info
Свои данные можно добавить следующими командами:
git config --local user.email ivan@ivanov.com git config --local user.name IvanIvanov
, где ivan@ivanov.com – это почта, указанная в аккаунте IvanIvanov
–global то очистите свои данные при помощи команд из п. 1.2, чтобы следующий студент на этом компьютере не сделал свой pull-request в другой репозиторий с вашими данными.
Пример именования ветки для студента Иванова Ивана, который хочет выполнить первую лабораторную работу:
Ivanov_Ivan_lb1
Для указания лабораторных работ необходим префикс lb, а для курсовой работы – cw. При этом для курсовой работы номер работы не нужен, так как курсовая работа единственная в семестре.
Для добавления сообщения к коммиту можно использовать флаг -m:
git commit -m "Ivanov LB1: fixed the corner case in X function"
Комментарий к коммиту должен быть осмысленным. Сообщения всех добавленных коммитов должны содержать фамилию и название работы, которая сделана в рамках коммита.
Пример перехода на ветку main и создания + перехода в новую ветку Ivanov_Ivan_lb3:
# Переход на ветку main git checkout main # Обновлении локальной ветки main из удаленного репозитория git pull origin main # Создание и переход на новую ветку git switch -c Ivanov_Ivan_lb3
Пример создания папки на Linux:
mkdir Ivanov_Ivan_lb3
Файлы с исходным кодом должны находиться в папке src внутри папки с лабораторной работой.
Никаких других файлов не должно быть в pull-request'е.
Пример добавления файлов, создания коммита и отправки коммитов на удаленный репозиторий:
# Добавление файла с исходным кодом git add Ivanov_Ivan_lb3/src/main.c # Добавление отчёта, если таковой необходим git add Ivanov_Ivan_lb3/Ivanov_Ivan_lb3.pdf # Создание коммита git commit -m "Ivanov_Ivan_lb3: done" # Отправка ветки в удаленный репозиторий git push origin Ivanov_Ivan_lb3
В корне репозитория лежит файл README.md, в котором явно указаны имя, фамилия и forgejo логин студентов. Все коммиты в pull-request'е должны быть добавлены пользователем соответствующим студенту.
Правила для названия pull-request'а аналогичным правилам именования веток (2. Именование ветки: <Фамилия>_<Имя>_<Вид и номер работы>)
Вне рабочей папки ничего менять нельзя, в том числе удалять чужие рабочие папки и добавлять свои документы в корень репозитория. Требования распространяется на все коммиты в pull-request'е. Если хотя бы один коммит содержит изменение вне рабочей папки, то pull-request считается некорректным. Недостаточно проверять, что суммарные изменения в pull-request'е не затрагивают изменения вне папки, так как отдельные коммиты могут отменять действия друг друга.
Каждый открытый pull-request автоматически проверяется на соответствие правилам. В случае, если pull-request содержит нарушения, он закрывается с соответствующим комментарием и на него выставляется метка failed.
Дополнительные действия, за которые pull-request будет автоматически закрыт:
Если проверка была начата, то она заканчивается одним из трех результатов:
В любом из случаев в комментариях к pull-request'у будет написан результат, и на pull-request будет установлена соответствующая метка (passed/failed).
Нужно исправить причины, по которым был закрыт Ваш Pull Request, и нажать кнопку «Reopen».
Нельзя создавать новый Pull Request при наличии уже существующего с метками преподавателя или комментариями преподавателя. При нарушении данного правила баллы за соответствующую работу могут быть аннулированы (без возможности перезащиты) или снижены на усмотрение преподавателя по лабораторным работам.
Если по каким-то причинам не удаётся исправить предыдущий pull request, то необходимо:
Часто бывает так, что при настройке git config случаются опечатки в названии аккаунта или почты. Любой неправильный символ приводит к тому, что система автоматической проверки распознает pull-request как сделанный некорректно.
Чтобы исправить данную ошибку необходимо:
# Удалить ветку в репозитории (можно сделать из веб версии) # Настроить git config правильно git config --local user.email ivan@ivanov.com git config --local user.name IvanIvanov # Переключиться на ветку main git switch main # Удалить ветку с неправильным коммитом git branch -d Ivanov_Ivan_lb3 # Создать ветку git switch -c Ivanov_Ivan_lb3 # Добавить файлы git add Ivanov_Ivan_lb3/src/main.c git add Ivanov_Ivan_lb3/Ivanov_Ivan_lb3.pdf # Создать коммит git commit -m "Ivanov_Ivan_lb3: done" # Отправить ветку в удаленный репозиторий git push origin Ivanov_Ivan_lb3
Это влечет за собой минус 1 балл к итоговому рейтингу. Штрафной балл начисляется за каждый коммит! Например, если сделано 3 коммита в ветку main, то к рейтингу добавляется 3 штрафных балла.