course-directory-student-template
Описание
Course Catalog Template for Students
Языки
- Shell86,9%
- Makefile13,1%
Шаблон каталога курса для студентов
Скачать репозиторий
git clone --recursive https://github.com/yamadharma/course-directory-student-template.git
Основные идеи
- Стандартные соглашения об именах
- Стандартное соглашение для путей к файлам
- Стандартная настройка курса внутри шаблона курса
Используемые стандарты и программные продукты
- Стандарт Git Flow.
- Стандарт Семантическое версионирование.
- Стандарт Общепринятые коммиты.
Дополнительное программное обеспечение
Средства разработки
Fedora
-
Установите средства разработки:
Quarto
Установка
-
Windows
-
Chocolatey (см. Пакетный менеджер для Windows. Chocolatey):
-
-
Linux
-
Linux в общем
-
Установка с помощью скрипта:
-
-
Gentoo
-
Gentoo, репозиторий karma:
-
-
Arch
-
Arch linux:
-
Manjaro linux:
-
-
Fedora
-
Установка из CORP:
-
-
Общепринятые коммиты
Установка Node.js
-
На Node.js базируется программное обеспечение для семантического версионирования и общепринятых коммитов.
-
Для управления пакетами лучше использовать
, но можно иpnpm.yarn -
Gentoo
-
Node.js:
-
pnpm ставим из оверлея
:guru
-
-
Ubuntu
-
Fedora
-
Windows
-
Chocolatey:
-
-
MacOS
Настройка Node.js
Для работы с Node.js добавим каталог с исполняемыми файлами,
устанавливаемыми пакетным менеджером, в переменную .
- Linux
- pnpm
-
Запустите:
-
Перелогиньтесь, или выполните:
-
- yarn
-
В файле
добавьте к переменной~/.bashrc:PATH
-
Установка git-flow
-
Linux
-
Gentoo
-
Ubuntu
-
Fedora
-
Устанавливается из COPR:
-
-
-
Windows Git-flow входит в состав пакета git.
-
MacOS
Общепринятые коммиты
-
commitizen
- Данная программа используется для помощи в форматировании
коммитов.
-
pnpm:
-
yarn:
-
- При этом устанавливается скрипт
, который мы и будем использовать для коммитов.git-cz
- Данная программа используется для помощи в форматировании
коммитов.
-
standard-version
- Данная программа автоматизирует изменение номера версии.
-
pnpm:
-
yarn:
-
- Данная программа автоматизирует изменение номера версии.
Общие правила
-
Для именования каталогов и файлов будем использовать соглашение Denote.
-
Рабочее пространство по предмету располагается в следующей иерархии:
-
Например, для 2025-2026 учебного года (второй семестр) и предмета «Операционные системы» (код предмета
) структура каталогов примет следующий вид:os-intro -
Название проекта на хостинге git имеет вид:
-
Например, для 2025-2026 учебного года и предмета «Операционные системы» (код предмета
) название проекта примет следующий вид:os-intro -
Каталог для лабораторных работ имеет вид
.labs -
Каталоги для лабораторных работ имеют вид
, например:lab<номер>,lab01и т.д.lab02 -
Каталог для групповых проектов имеет вид
.group-project -
Каталог для персональных проектов имеет вид
.personal-project -
Каталог для внешнего курса имеет вид
.external-course -
Если проектов несколько, то они нумеруются подобно лабораторным работам.
-
Этапы проекта обозначаются как
.stage<номер>
Шаблон для рабочего пространства
Сознание репозитория курса на основе шаблона
- Репозиторий на основе шаблона можно создать либо вручную, через
web-интерфейс, либо с помощью утилит
.gh
Создание с помощью утилит
-
Создание выглядит следующим образом:
-
Например, для 2024-2025 учебного года и предмета «Операционные системы» (аббревиатура предмета —
) создание репозитория примет следующий вид:os-intro
Создание вручную
- Сделать свой репозиторий на основе шаблона можно и вручную: https://docs.github.com/ru/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template.
Структура шаблона
-
Посмотреть доступные цели
:make -
Посмотреть список доступных курсов:
-
При создании структуры название курса берётся из следующих мест:
- название курса находится в файле
;COURSE - каталог курса называется как аббревиатура курса.
- название курса находится в файле
Настройка каталога курса
-
Перейдите в каталог курса:
-
Создайте необходимые каталоги:
-
Отправьте файлы на сервер:
Использование git flow
- Будем использовать для работы git flow.
Конфигурация git-flow
-
Инициализируем git-flow
Префикс для ярлыков установим в
.v -
Проверьте, что Вы на ветке
:develop -
Загрузите весь репозиторий в хранилище:
-
Создадим релиз с версией 1.0.0
-
Создадим журнал изменений
-
Добавим журнал изменений в индекс
-
Зальём релизную ветку в основную ветку
-
Отправим данные на github
-
Скопируем CHANGELOG.md в каталог
:release -
Создадим релиз на github. Для этого будем использовать утилиты работы с github (см. github: утилиты командной строки):



