21.12.2017
Рецензия на курс Coursera "Version Control with Git" от Atlassian
Я давно работаю с системой контроля версий GIT, но ещё задолго до изучения её что называется "на практике" хотел изучить теоретическую часть, искал хороший курс и сертификацию. К сожалению ничего приличного не попадалось (позор от geekbrains "Git. Быстрый старт" не учитываем).
Да, есть отличная
книга "pro Git" (и даже второе издание довольно активно переводится на русский язык).
И интерактивный туториал от GitHub - try.github.io
Но систематического обучения и сертификации очень не хватает. Поэтому я был рад, что создатели сервиса конкурента (bitbucket) - Altassian запустили бета тест своего курса на Coursera.
И курс получился неплохой!
Конечно не шедевр, но базовые вещи там объясняются:
- Что такое коммит, ветка и тег (
ложки ветки по не существует, в смысле это только человекочитаемое обозначение для хеша коммита)
- Как "нумеруются" коммиты (SHA-1 хеши)
- Чем отличается рабочая область, стейдж и история коммитов (продвижение от изменения файла к его добавления в индекс/стейдж, а потом и фиксация в истории коммитов)
- Упомянуты "флаги" (хотя примеров и не много)
- status
- log
- add
- commit
- commit --ammend
- push, pull, fetch, merge
- rebase (о да, понятно описано что происходит при ребейзе)
- Описан процесс GitFlow
- Показано как происходит pull-request на bitbucket (на github процесс немного отличается, но концептуально похоже)
А вот чего, к сожалению нет (хотя и хотелось бы наверное):
- Нет ни слова о проблемах в хранении бинарных файлов (да, вы поменяли всего 1 пиксель в картинке, а git будет хранить не разницу между ними, а оба файла!)
- нет .gitignore
- нет diff (при этом показана разница между коммитами при объяснении rebase)
- нет cherry-pick (да, знаю, это скорее хаккерам нужно, но ведь какая крутая фича!)
- нет reset и revert (по сути дано только движение вперёд)
- нет ничего про хуки
- нет ни слова о других системах контроля версий (жаль, их можно было хоть упомянуть)
При этом в начале курса даже немного рассказано об архитектуре GIT, авторы даже заглянули в папку .git и немного в ней порылись. Но совсем чуть-чуть.
А вот информации о том, что при исчезновении "центрального репозитория" (как источника правды в терминах курса) разработчики могут продолжить не только локальную работу, но и начать меняться напрямую, ведь это распределённая система контроля версий, не стали говорить. Может и правильно, чтобы не запутывать лишний раз.
Отдельно хочется похвалить компоновку материала в 2 параллельные ветки:
- GUI (на примере sourcetree v2.0)
- command line (на примере bash)
Я вначале старался смотреть обе версии, но потом стало скучно (т.к. концептуальные вещи повторяются, что логично) и я стал смотреть только версию для командной строки.
Мне кажется, для начинающих это здорово снизит порог входа. Ну и конечно опытным пользователям GIT тоже будет на что обратить внимание - всегда можно заметить пару-тройку "фишек". Мне по крайней мере кое-что запомнилось и курс понравился.
Спасибо Altassian и Coursera!
Похожие новости:
Рецензия на книгу "Scrum. Гибкая разработка ПО" /
Рецензия на учебный курс Coursera "Introduction to HTML5" от Мичиганского Университета /
Рецензия на учебный курс Coursera "Introduction to Software Product Management" от Университета Альберты /
Рецензия на книгу "Правила Кавасаки. Жесткое руководство для тех, кто хочет оставить конкурентов позади" /
Рецензия на учебный курс geekbrains.ru "Git. Быстрый старт"