|
|
Основная единица организации кода на Gitlab это *проект*. Проект это пара из основного репозитория, связанного репозитория для Wiki, и описание различных интеграций с внешними сервисами и инструментам.
|
|
|
|
|
|
Gitlab позволяет иметь произвольное количество уровней иерархии для "директории", в которой будет находиться проект:
|
|
|
|
|
|
- Группа
|
|
|
- Подгруппа1
|
|
|
- Подгруппа подгруппы 1
|
|
|
- Проект
|
|
|
- Проект подгруппы 1...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Мы предлагаем следующую схему организации курсов:
|
|
|
|
|
|
- `Название-курса` / Группа.
|
|
|
- `Название-курса-[fall|spring]-YYYY` / Подгруппа.
|
|
|
- Один проект с именем `main`, содержащий основные материалы по курсу: организационную информацию, конспекты лекций, ссылки на дополнительные материалы и т.д.
|
|
|
- По одному проекту на каждую лабораторную работу; студенты могут делать их fork'и.
|
|
|
|
|
|
Для каждого задания используйте имя начинающееся на `assignment-`
|
|
|
|
|
|
- По одному проекту на каждый учебный проект, курсовую работу и т.д.
|
|
|
- Подгруппу `staff`, доступную только команде курса. В ней выкладываются решения задач, инструкции по приёму лабораторных работ и т.д.
|
|
|
|
|
|
|
|
|
Например:
|
|
|
|
|
|
- `low-level-programming`
|
|
|
- `low-level-programming-fall-2020`
|
|
|
- `main`
|
|
|
- `staff` (подгруппа)
|
|
|
- `assignment-memory-allocator`
|
|
|
- `assignment-image-rotation`
|
|
|
|
|
|
Имея проект в одной группе/подгруппе можно сделать его fork в другую. Например, это полезно когда лабораторные работы из года в год не изменяются. |