User Tools

Site Tools


Sidebar






Old

courses:programming:github_rules

This is an old revision of the document!


Правила работы с Github

Мастер-классы по работе с git

Проверяйте git config на компьютерах в классе

Проверяйте настройки конфигурации, прежде чем делать Pull Request с компьютера в компьютерном классе на кафедре. Вам помогут три команды:

1. Просмотреть текущие настройки конфигурации

git config --list

– в выводе этой команды обратите внимание на первые две строки: user.name и user.email – там должны быть указаны ваши данные, которые можно добавить так:

2. Добавить свои данные в конфигурацию

git config --local user.email ivan@ivanov.com
git config --local user.name IvanIvanov

– где ivan@ivanov.com – это почта, с которой был зарегистрирован гитхаб аккаунт IvanIvanov

  • В чем разница между –global и –local самостоятельно прочитайте здесь

Если в компьютерном классе испльзовали флаг –global то повторите действия п. 2, чтобы следующий студент на этой машине не сделал свой пулл реквест в другой репо с вашими данными.

Именование ветки: <Фамилия>_<Имя>_<Вид и номер работы>

Пример именования ветки для студента Иванова Ивана, который хочет выполнить первую лабораторную работу:

Ivanov_Ivan_lb1

Вид работы может быть lb и cw для лабораторной и курсовой работы соответственно. Пожалуйста, учтите, что название lr или любое другое для лабораторной засчитано не будет.

Комменарий коммита должен быть осмысленным

Пример добавления комментария к коммиту (Ubuntu):

git commit -m "Ivanov LB1 done"

Каждая новая лабораторная/курсовая/контрольная работа должна находиться в своей ветке, которая обязательно должна быть создана из ветки main

Пример перехода на ветку master и создания + перехода в новую ветку Ivanov_Ivan_lr1 (Ubuntu):

git checkout master && git pull origin master
git checkout -b Ivanov_Ivan_lb1

Каждая лабораторная/курсовая/контрольная работа должна находиться в своей папке, которая должна называться также, как ветка

Пример создания папки (Ubuntu):

mkdir Ivanov_Ivan_lb1

Добавление файлов на Github должно происходить с помощью консоли

Пример добавления файлов, создания коммита и отправки коммитов на GitHub (Ubuntu):

git add Ivanov_Ivan_lb1/main.c
git commit -m "Ivanov_Ivan_lb1: done"
git push origin Ivanov_Ivan_lb1

В репозитории должен храниться только исходный код и отчёты к лабораторным

Не добавляйте никакие другие файлы в Ваш пуллреквест.

  • Файлы с исходным кодом должны находиться в папке src внутри вашей папки с лабораторной

Автоматическая проверка пуллреквестов. Лэйблы

Каждый открытый пуллреквест автоматически проверяется на соответствие правилам. В случае, если пуллреквест содержит нарушения, он закрывается с соответвующим комментарием и на него вешается лэйбл. Нарушения, за которые ваш пуллреквест будет автоматически закрыт:

  1. Добавление и снятие лэйблов с пуллреквеста
  2. Название (title) пулл-реквеста должно иметь формат: <Фамилия>_<Имя>_<Вид работы><Номер работы>
  3. Все добавляемые/изменяемые/удаляемые файлы должны относиться к рабочей папке, вне нее ничего менять нельзя (в том числе удалять чужие рабочие папки, добавлять свои документы в корень репозитория)
  4. Нельзя добавлять файлы с запрещенными расширениями. К запрещенным расширениям относятся .pyc, .o, .exe, .out
  5. В вашей рабочей папке должен быть отчет в формате pdf (в дополнение может быть отчет в формате doc/docx/odt)
  6. В корневой папке репозитория должна быть папка с названием, совпадающим с названием пуллреквеста.

Обычные нарушения, за которые пуллреквест может быть закрыт преподавателем:

  1. Пуллреквест должен быть создан пользователем с гитхаб-логином, соответствующим имени и фамилии, которые указаны в названии пуллреквеста. В корне репозитория лежит файл README.md, в котором явно указаны имя, фамилия и github логин студентов. Все коммиты в пуллреквесте должны быть добавлены этим пользователем.
  2. Сообщения всех добавленных в пуллреквесте коммитов должны содержать вашу фамилию и название работы, которую вы сделали.

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

  • всё хорошо (passed),
  • есть нарушения (failed),
  • есть нарушения, за которые пуллреквест закрыт (violated)

В любом из случаев в комментариях к пулл-реквесту будет написан результат, и на пулл-реквест будет установлен соответствующий лэйбл (passed, failed, violated). Пуллреквест считается корректным (т.е. за него можно получить баллы), если присутствует лэйбл passed и корректный отчет.

Что делать, если мой Pull Request был закрыт?

Нужно исправить причины, по которым был закрыт Ваш Pull Request, и нажать кнопку “Reopen”.

Нельзя создавать новый Pull Request при наличии уже существующего с метками преподавателя, метками проверяющей системы или комментариями преподаватя.

Опечатка в названии аккаунта в истории коммитов -- что делать?

Часто бывает так, что при настройке git config вы делаете опечатки в гитхаб аккаунте.

Любой неправильный символ приведет к тому, что система автоматической проверки распознает ваш пулл реквест как сделанный некорректно.

Чтобы исправить свою ошибку в истории коммитов, надо поступить следующим образом: найти последний коммит, сделанный вами через ваш правильный аккаунт и вернуться к нему. Команды представлены ниже:

git reset --hard <goodCommitId>
git push origin <branch>

Что делать, если я случайно смержил свой пулл реквест?

  • Если это произошло в срок до 25 октября 2021, то Вам следует: (1) удалить свою ветку; (2) создать пулл реквест заново; (3) в комментариях к новому пулл реквесту указать ссылку на первый пулл реквест
  • Если это произошло после 25 октября, то Вам необходимо переделать лабораторную работу: (1) по программированию – решить другой вариант (предварительно согласовав с преподавателем), (2) по информатике – решить другую задачу на ЛР по той же теме (задачу выдает преподаватель). Далее Вы создаете новый пулл реквест, но с другой задачей на лабораторную работу.
courses/programming/github_rules.1640598745.txt.gz · Last modified: 2022/12/10 09:08 (external edit)