Giter Club home page Giter Club logo

git_quiz's Introduction

Я сам переходил с SVN на GIT несколько лет назад и переводил других разработчиков. За это время у меня сформировалось понимание, что теория, книжка, google/stackoverflow - это хорошо, но есть нюанс.

“Чем отличается теория от практики? В теории - ничем! На практике все немного не так.”

    <li>Читать что “ветки - это круто” - это одно, а вот перестать бояться делать ветки — другое;</li>
    <li>Иметь возможность делать локальные коммиты — это одно, а делать их в реальности — совсем другое;</li>
    <li>Кто-то знает как использовать в теории, но на практике не делал и поэтому и не использует;</li>
    <li>Кто-то просто не знает, а чего не знаешь, то и не используешь.</li>
    

Именно по этому, я написал Git Quiz для своих коллег — чтобы люди привыкли использовать git, как git, а не как svn; чтобы у разработчиков сформировалась мышечная память, чтобы теория стала практикой.

Особенность quiz в том, что это не учебник, не тест с вариантами ответа или без них. GIT Quiz — это мини лабораторная работа. Время прохождения теста 15-45 минут.

Всего 19 последовательных шагов. У каждого шага есть:

  1. Описание что нужно сделать по задаче;
  2. Версия репозитория до шага;
  3. Версия репозитория после шага;
  4. Скриншот после выполнения шага;
  5. Видео - как сделать задачу.
Сами задачки - это пошаговое выполнение разработки по gitflow с использование git. Ссылка на проект в github

Все действия предполагается выполнять в локальном репозитории, без наличия сервера (push-pull). Причины простые:

  • Так проще для начала (не нужно настраивать сервер);
  • Этого достаточно, чтобы начать работать с git;
  • Quiz будет продолжен и расширен серверными шагами.

Пример задачи
Шаг 4

Результат тестирования на коллегах:
  • Я тест прошел за 15 минут. У меня 1.5 года опыта работы с git + тест я же и создал.
  • Коллега, который всю жизнь писал на svn и последний месяц потихоньку работал с git (использовал git как svn-> commit/push одной кнопкой). Ему потребовалось 45 минут. После прохождения он стал увереннее пользоваться git.
  • Второй коллега, который всю жизнь работал с svn, и 1 день разбирался "что такое git" сказала, "классный тест, стало понятнее. Нужно еще работа с сервером правда."
Вопросы:
  • Почему я не стал работать из консоли? Во-первых, я сам ей редко пользуюсь, во-вторых, в мне UI нагляднее. Для тех, кто готов не просто упрекнуть меня в ереси за работу не из консоли- помогите проекту и снимите видео работы из консоли. Задача такая есть.
  • Почему я работал через gitextensions? Tortoise git мне не нравится по субъективным причинам. Клиент из Visual Studio — это сразу привязка к Microsoft. Smartgit — штука хорошая, но тащит за собой java + для коммерческого использования платная. Если есть желающие помочь, можно снять видео по выполнению задач через SmartGit тк задачка такая есть. Другими клиентами не довелось пользоваться. Тк в комментариях много плюсов набрал Atlassian SourceTree, то задачу на съемку видео завел к этому клиенту.
  • Почему без звука — в следующей версии, если окажется полезным добавлю описание того, что я делаю.

Буду рад фидбеку, если кто-то готов дополнить примеры и записать видео, то буду вдвойне счастлив.

P.S. Часть по работе с сервером, тоже пока в стадии формирования. Тут есть момент, что людей много может быть, и создать вот так же просто папку с примерами на флешке не получится. Из разных шагов не последовательно на сервер не сделаешь push/pull/fetch. Если мысли на тему сделать все в виде виртуалки и выдавать ее всем, но там начинаются свои проблемы.

Благодарности:

Пользователю https://github.com/ewancoder за перекодировку файлов в utf-8. https://github.com/SychevIgor/git_quiz/issues/2

Пользователю https://github.com/sobolevstp за часть по переводу на английский https://github.com/SychevIgor/git_quiz/issues/7 и за работу с smartgit https://github.com/SychevIgor/git_quiz/issues/5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.