1. Использование Git и GitHub для
создания учебного контента и
ведения проектов
Александр Пупена
АКТСУ НУХТ
pupena_san@ukr.net
www.i4u.in.ua
https://www.youtube.com/channel/UCc6VjvU3rous2W1he7BCKkg
5. в это время…
люди пишут доки (книги,
методички, статьи…)
Здесь мог бы быть конец
истории, но…
и у меня с 2020 г стартовал
новый курс…
6. - пособия
- наполнение учебных курсов (любые материалы)
- статьи
- любой проект (схемы, чертежи, текстовая документация)
Контент (образовательный,
проектный…) это:
7. - «это последняя версия?» (при транспорте между ПК)
- «а что я там менял?»
- «а что он/она там менял?»
- «не удалил ли случайно я/он/она что-то нужное?»
Проблемы при разработке контента:
контроль версионности
8. - «как это все объединить?»
- «стой не вноси правки в тот файл, я там кое-что правлю!»
- распределение работ над одним проектом (пособием,
статьей …)
- контроль и управление исполнением:
- что сделал, когда, зачем
- «эти правки вносим, а это – переделать»
Проблемы при разработке контента:
совместная разработка
9. - как это дать студентам (клиенту) (ВЕБ-доступ, гугл-диск,
почта)?
- как это показать всем кому интересно для обсуждения?
- как вовлечь всех желающих в общий процесс создания?
Проблемы при разработке контента:
публичный доступ
10. - один документ, но много потребителей: Word, PDF,
Moodle (еще и несколько курсов), гугл-диск …
- это все при изменении полностью повторяется!
- как достали эти «поехавшие» таблицы, рисунки…
- «откуда взялся этот шрифт? зачем мне вообще менять
шрифты, я кого-то просил?»
- «ужас! пропустил номер одного рисунка, все по разделу
переделывать!»
Проблемы при разработке контента:
преобразование
11. Решения?
Многие из этих вопросов решаются в типичных
редакторах (Word, Excel) и сервисах (Google Documents,
Google Drive, MS Office 365 …), но как решить их все?
12. Git – система управления версиями, разработана прежде всего для
программных (software) проектов.
• управляет хранилищем (репозиторием)
• отслеживает изменения в рабочей директории
• по мере необходимости фиксации версии делается оттиск
(commit)
Git – управление версиями
единственный раз,
когда я сюда
заглядывал, когда
делал скрин для этой
ппт
14. Git (отслеживание изменений)
• для текстовых файлов показывает не только какие файлы
изменились, но и что именно
• по этому важно контент делать в текстовом файле
15. Git (история версий)
• можно просмотреть файлы (изменения) любого оттиска
• вернуться на нужную версию
16. • дает возможность делать альтернативные версии ветви
(branch)
• возможность распределенной обработки
• …..
Git (еще много чего)
17. • DOC и DOCX не текстовые файлы отслеживать что изменилось
через GIT нельзя (хотя есть решения)
Только текст
шрифт и текст
18. а как же форматирование текста,
таблицы, заголовки …?
Только текст?
20. • альтернатива формату Word – формат MarkDown
• MarkDown – больше смысла, меньше формата!
• легко конвертируется в любой другой формат в т.ч. HTML, DOCX,
PDF, файлы электронных книг и др.
• существует бесплатные редакторы, например Typora (бесплатный в
бета-версии)
• многими редакторами сайтов автоматически конвертирется в HTML
Только текст - > MarkDown (MD)
26. Совместная разработка с использованием
распределенной системы
• серверное (-ные) хранилище(а)
• клиентские локальные копии
• синхронизация хранилищ:
• загрузка (push)
• выгрузка (pull)
• объединение ветвей (merge)
27. Совместная разработка: ветви
• параллельная работа над единым проектом – ветви (branch)
• при необходимости ветви объединяются (merge) – изменение с
одной ветви переносятся в другую
В наши проектах ветви закреплены
за каждым участником
28. GitHub
• GitHub – самый большой хостинг для хранилищ (репозиториев) Git, и
является центром совместной разработки между миллионами
разработчиков и проектов
• публичные и приватные репозитории
• все возможности для бесплатного использования открытых хранилищ
• закрытые хранилища с ограничениями (платные без ограничений)
29. GitHub – Pull Request
• соединение ветвей через Pull Request
• можно настроить обязательный пересмотр и подтверждение
перед объединением
30. Управление проектом - Канбан
https://trello.com/
• доски (Desc)
• списки (колонки, column)
• карточки (Cards)
• перемещение карточки (задания)
между колонками за результатами
исполнения
• контроль времени, обсуждения в
границах карточки
31. GitHub Проекты
• за методикой канбан
• автоматизированные (можно задать
события перемещения с колонки в
колонку)
• преобразовываются в обсуждения
(Issues)
32. GitHub Обсуждения (Issues)
- для обсуждения какой-либо
деятельности с репозиторием
- форматированный текст MD
- контроль времени
- метки тем
- связь с запросами на объединение
- фиксация наиболее горящих
33. GitHub Pages
- статические ВЕБ-страницы, формующиеся автоматически за
содержанием репозитория, например
- репозиорий - https://github.com/romamirkevich/PLCBeginner
- веб-страница - https://romamirkevich.github.io/PLCBeginner/
- изменения в репозитория приводят к изменению веб-страниц
- только для публичных репозиториев
34. GitHub Actions
- дает возможность использовать скрипты для автоматизации
преобразования контента и его запуска
MD -> преобразование PDF, DOCX, PPT -> заливка на Gogle Drive …
запускать всё что кодится по любому событию в репозитории GitHub
36. GitHub – не только репозиторий
• обсуждения (типа форума)
• управление проектами:
• распределение и управление заданиями (Канбан)
• контроль времени выполнения (Milestones)
• приоритетность (pin, label)
• автоматизация управления с использованием различных
событий
• автоматическое развертывание – последовательное
преобразование контента и запуск на ресурсах
• ВЕБ-страницы
• статистика
• …
37. Мечты, мечты…
электронный документооборот в организации:
• общий репозиторий организации, например для института рабочие
программы, методички ….
• прохождение утверждение через pull request + approve
• исходники всегда на MD, преобразование в любой вид контента
(например в PDF)
• изменение в любой момент времени
• можно создать адаптивный клиент Git+GitHub с дружественным
интерфейсом
38. - не только для кода
- открытые и закрытые хранилища
- отслеживание версий (кто, когда и какие изменения вносили) за всю
историю проекта
- управление версиями документов: можно откатиться на какую-либо
версию
- совместная (одновременная) работа в одном проэкте
- управление проектной деятельностью с использованием Канбан
- автоматизация деятельности касательно преобрахования одних
документов в другой формат (например в DOCX, PDF, заливка на
Dropbox, преобразование у ВЕБ-страницы, Moodle и т.п.);
- автоматическое создание собственных Веб-страниц за содержанием
репозитория
- …
Итоги
Вопросы?
https://pupenasan.github.io/ProgIngContrSystems/