GIT Quiz- практикум по использованию git, для начинающих
Я сам переходил с SVN на GIT несколько лет назад и переводил других разработчиков. За это время у меня сформировалось понимание, что теория, книжка, google/stackoverflow — это хорошо, но есть нюанс.«Чем отличается теория от практики? В теории — ничем! На практике все немного не так.»
Читать что «ветки — это круто» — это одно, а вот перестать бояться делать ветки — другое; Иметь возможность делать локальные коммиты — это одно, а делать их в реальности — совсем другое; Кто-то знает как использовать в теории, но на практике не делал и поэтому и не использует; Кто-то просто не знает, а чего не знаешь, то и не используешь. Именно по этому, я написал Git Quiz для своих коллег — чтобы люди привыкли использовать git, как git, а не как svn; чтобы у разработчиков сформировалась мышечная память, чтобы теория стала практикой.
Особенность quiz в том, что это не учебник, не тест с вариантами ответа или без них. GIT Quiz — это мини лабораторная работа. Время прохождения теста 15–45 минут.
Всего 19 последовательных шагов. У каждого шага есть:
Описание что нужно сделать по задаче; Версия репозитория до шага; Версия репозитория после шага; Скриншот после выполнения шага; Видео — как сделать задачу. Сами задачки — это пошаговое выполнение разработки по gitflow с использование git.Ссылка на проект в githubЕсли не нужно видео, можно взять первый commit, он на 40 мб меньше.Все действия предполагается выполнять в локальном репозитории, без наличия сервера (push-pull). Причины простые:
Так проще для начала (не нужно настраивать сервер); Этого достаточно, чтобы начать работать с git; Quiz будет продолжен и расширен серверными шагами. Так выглядит весь список задач: Пример задачи Шаг 4 Структура в файловой системе Текст задачи Репозитарий до выполнения задания Репозитарий после выполнения задания Видео- как сделать в gitextensions Результат тестирования на коллегах: Я тест прошел за 15 минут. У меня 1.5 года опыта работы с git + тест я же и создал. Коллега, который всю жизнь писал на svn и последний месяц потихоньку работал с git (использовал git как svn→ commit/push одной кнопкой). Ему потребовалось 45 минут. После прохождения он стал увереннее пользоваться git. Второй коллега, который всю жизнь работал с svn, и 1 день разбирался «что такое git» сказала, «классный тест, стало понятнее. Нужно еще работа с сервером правда.» Вопросы: Почему я не стал работать из консоли? Ну, во-первых, я сам ей редко пользуюсь, во-вторых, в UI нагляднее. Почему я работал через gitextensions? Tortoise git мне не нравится по субъективным причинам. Smartgit — штука хорошая, но тащит за собой java + для коммерческого использования платная. Клиент из Visual Studio — это сразу привязка к Microsoft. Другими клиентами не довелось пользоваться. Почему без звука — в следующей версии, если окажется полезным добавлю описание того, что я делаю. Буду рад фидбеку, если кто-то готов дополнить примеры и записать видео, то буду вдвойне счастлив.
P.S. Также я взялся за продвинутую версию quiz — какие-то маленькие моменты, решение проблем (рука дрогнула не на то сделал rebase, откатывание rebase, сжимание нескольких комитов в один.). Но эта часть только в стадии формирования.
P.S. S.Часть по работе с сервером, тоже пока в стадии формирования. Тут есть момент, что людей много может быть, и создать вот так же просто папку с примерами на флешке не получится. Из разных шагов не последовательно на сервер не сделаешь push/pull/fetch. Если мысли на тему сделать все в виде виртуалки и выдавать ее всем, но там начинаются свои проблемы.