Skip to content

Репозиторий для выполнения лабораторных заданий второкурсников кафедры ВТ

Notifications You must be signed in to change notification settings

HepoH3/MIET_FPGA_practicum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Требования к пул-реквестам

  1. Вы должны пушить только файлы с hdl-описанием разрабатываемого вами устройства, а так же тестбенчи для его тестирования. Исключением этого требования могут (но не обязаны) являться разве что файлы .gitignore, и файлы констрейнов (.xdc), tcl-скрипты для сборки проекта. Таким образом, вы не должны пушить сотню временных файлов, являющихся артефактами сборки проекта;
  2. Нужды удалять уже имеющиеся в репозитории файлы нет;
  3. К каждой лабе вам дан файл-прототип. Это то устройство, которое будет ожидать увидеть сторонний пользователь вашего дизайна. Человеку достаточно знать, что он собирается взять модуль с названием X, портами a,b,c. Это называется интерфейс. Пользователь не должен лазить по вашим файлам, пытаясь понять как они работают и что к чему он должен подключить. Если в лабораторной работе дан модуль counter — это значит, что модулем верхнего уровня (топовым модулем) вашей лабораторной работы должен быть counter и именно с теми портами, которые были там описаны. Если данное требование не будет выполнена, проверять работу вашего устройства никто не обязан, поскольку если его добавить в чей-то проект — оно не заработает только из-за несоответсвия интерфейса подключения;
  4. Перед отправкой пулреквеста, проверьте, что ваш код соответствует кодстайлу;
  5. Коммиты в публикуемом вами пулл-реквесте должны быть содержательными;
  6. Перед отправкой пул-реквеста вы должны убедиться, что ваш код собирается, провести какое-то его собственное тестирование и отправлять пул-реквест когда вы уверены, что задание выполнено.

P.S. была слегка переработана схема проверки пул-реквестов. Для удобства продолжения проверки, пул-реквесты отправляются на доработку, а не закрываются. Таким образом, просто запушьте новые коммиты в ту же ветку, и они появятся в вашем пул-реквесте без необходимости в создании нового.

Ответы на возможные сложности

В первую очередь, прочтите порядок выполнения лабораторных работ. Раздел ответов на вопросы размещён выше, чтобы его было сразу видно, но читать его нужно после всего остального.

Что делать, если я сделал форк, а после этого в оригинальном репозитории появились новые коммиты? В моей копии они не появились.

Всё верно, форк (вилка) — это точка ответвления, когда оригинальный репозиторий и ваш пошли своими путями. По сути, это тоже самое ветвление. Для того, чтобы получить новые коммиты в своей репозиторий, как и для ветки, нужно произвести пул. Для начала, вам нужно установить отслеживание удаленного репозитория, чтобы можно было стягивать изменения в локальный. Когда вы клонируете репозиторий к себе на компьютер, гит автоматически устанавливает отслеживание на репозиторий, откуда произошло клонирование. В данном случае, это ваша копия репозитория на гитхабе. Ссылка на неё называется origin. Вам нужно сделать ещё одну ссылку, которую обычно называют upstream:
git remote add upstream git@github.com:HepoH3/MIET_FPGA_practicum.git
После чего, вы можете стягивать изменения так же, как они стягиваются с origin
git pull upstream

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

Если коммиты только локальные и вы их не пушили в origin, лучшим вариантом будет выполнить перебазирование:
git pull upstream --rebase
В этом случае, гит стянет изменения и попытается сделать так, будто вы делали свои коммиты поверх новой версии. При этом, могут возникнуть конфликты, которые нужно будет разрешить.
Если вы пушили свои изменения в origin, такой способ не подойдет, нужно делать pull с последующим merge и разрешать возможные конфликты слияния.

Порядок выполнения лабораторных работ

Данный репозиторий разбит по папкам для выполнения отдельных лабораторных работ. В каждой папке вы можете найти verilog-файл с прототипом модуля, который вы должны реализовать в рамках данной лабораторной работы. Кроме того, в каждой папке находится pdf-файл, являющийся частью учебного пособия workbook.pdf, связанной с непосредственно выполняемой лабороторной работой.

Для выполнения лабораторной работы, вам необходимо сделать форк данного репозитория, с помощью кнопки:
Кнопка fork

После чего, за вашим аккаунтом github закрепится ваша собственная копия данного репозитория. В этой копии вы вольны делать что угодно. По выполнению лабораторной работы, вы должны запушить все свои коммиты, а затем создать pull-request в данный (оригинальный) репозиторий.
Посмотрите внимательнее на ветки данного репозитория: каждая из них начинается с префикса группы, затем идёт фамилия учащегося (прошу прощения, если чья-то фамилия была исковеркана в процессе транслитерации). Чтобы не листать весь список веток, вы можете начать печатать название (например, своей группы для фильтрации веток своей группы, или своей фамилии на латиннице, если хотите найти именно свою ветку).
ВАЖНО: пул-реквест необходимо создавать именно в свою ветку. Не в ветку master или чью-либо ещё.

К примеру, вы студент vasyanpro группы vt_00.
Поиск своей ветки вы можете сделать, выполнив фильтрацию по своей группе:
Поиск своей ветки

В первую очередь, вам необходимо сделать форк репозитория:
Fork репозитория

При этом, непосредственно на вашем аккаунте появится новый репозиторий:
Новый репозиторий
Выполните в этом репозитории свою лабораторную работу, запушьте сюда коммиты и произведите pull-request:
pull-request
Появится окно с демонстрацией предлагаемых вами изменений, а так же выбором источника и назназначения изменений. Убедитесь, что вы выставили свою ветку, после чего нажмите на кнопку create pull request
Выбор своей ветки
Вам дадут возможность оставить комментарий к предлагаемым изменениям, можете пропустить эту часть и снова нажать Create pull request.
Кроме того, если у вас возникли сложности с выполнением какой-то части задания, и вы хотите задать вопрос, связанный с вашим кодом, вы можете запушить имеющиеся у вас части лабораторной работы, создать пул-реквест, но на последнем описанном выше шаге, выбрать "create draft pull request". В этом случае, в описании вы должны рассказать, что именно у вас не получается. Преподаватель сможет просмотреть ваш код, и оставить вам комментарий.
draft pull-request
Если вы хотите просто задать вопрос, сообщить о проблеме или оставить пожелание, создайте новый запрос во вкладке Issues.
После создания, вы сможете увидеть ваш пул-реквест в соответствующей вкладке исходного репозитория:

Когда преподаватель просмотрит вашу работу, он оставит комментарии/замечания. После этого, преподаватель может запросить изменения. Работа считается принятой только при принятом пул-реквесте.

About

Репозиторий для выполнения лабораторных заданий второкурсников кафедры ВТ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published