Любая вакансия разработчика подразумевает владение git.
Курс подойдет как для новичков, ничего не знающих про git, так и для разработчиков, имеющих немалый опыт работы с этим инструментом.
В нашем курсе вы не просто узнаете что такое git, но научитесь максимально эффективно использовать его в своих целях.
Мы не просто расскажем что умеет git, а покажем как повысить качество ваших проектов с его помощью.
Вы узнаете не только что такое коммит и ветка, но и поймете как организовать контроль версий вашего кода с минимальными затратами на сопровождение и развитие.
Помимо различий между merge и rebase вы получите простые критерии выбора между ними в каждой конкретной ситуации.
Курс содержит полное и последовательное изложение способов оптимального контроля версий.
Мы также обращаем пристальное внимание на основную экосистему вокруг git:
-средства работы с git через графический интерфейс
-поддержку git в IDE
-интеграцию git с SSH
-использование самого популярного ресурса для контроля версий github
Быстрый старт
Вы узнаете, зачем разработчикам нужны системы контроля версий и почему нужно знать именно Git
Вы узнаете как устанавливать необходимое программное обеспечение и делать коммиты в репозиторий
Основы
Вы узнаете как игнорировать файлы, находящиеся в папке под контролем версий. Узнаете что такое атомарные коммиты и почему они важны. Научитесь использовать промежуточное хранилище изменений - индекс
Вы узнаете какие изменения должны быть в каждом конкретном атомарном коммите
Вы узнаете о том, что настоятельно не рекомендуется хранить в истории изменений
Вы научитесь просматривать лог истории в Git Extensions, просматривать историю изменений конкретного файла, двух версий одного файла, просматривать изменения внутри отдельного коммита, просматривать причину изменения конкретной строчки файла, использовать средства интеграции с Git в IDE
Интеграция с github
Вы научитесь устанавливать keepas и keeanywhere, научитесь хранить свои пароли в облаке в зашифрованном виде, научитесь создавать аккаунт в github и работать с ним
Вы научитесь генерировать пару ключей - закрытый и открытый. Сохранять их в keepass. Указывать открытый ключ в github. Научитесь интегрировать GitExtensions c keepass и другими программами
Ветки
Вы научитесь создавать и переходить на новую ветку, перемещать указатель текущей ветки на произвольный коммит. Узнаете что происходит с ветками при обмене изменениями с удаленным репозиторием. Научитесь сливать и уничтожать ветки
Вы научитесь пользоваться командой Cherry pick. Узнаете что такое rebase и поймете в чем его отличие от merge. Увидите различия между auto rebase и auto merge. Узнаете что такое отсоединенные коммиты и как на них смотреть и ими пользоваться. Поймете почему не стоит использовать команду pull
Вы узнаете о конфликтах и причины их появления. Научитесь решать конфликты при cherry pick, rebase и merge. Научитесь делать слияние из трех источников с помощью kdiff. Поймете преимущество пустых merge-коммитов и квазилинейной истории
Организация командной работы
Вы поймете связь между коммитами, ветками и задачами и научитесь их именовать. Узнаете связь между merge и code review
Вы узнаете что такое pull request. Научитесь вносить изменения в свои и чужие проект в github
Оптимизация сопровождения и развития проекта
Узнаете про следующие уровни качества: сам проект, исходный код, история изменений
Научитесь пользоваться командой interactive rebase. Научитесь переставлять коммиты местами, а также сливать их в один коммит. Научитесь исправлять ошибки кода в том же коммите, где они были допущены. Научитесь переименовывать коммиты. Научитесь пользоваться командой force push
Дополнительные материалы
Вы научитесь устанавливать GitVersion, с помощью коммита и автоматически увеличивать номер версии, вести параллельную разработку нескольких версий одновременно, включать один и тот же функционал в несколько разных версий
Вы узнаете зачем нужны правила версионирования внутри вашей команды, узнаете как добиться письменной фиксации этих правил и увидите пример работающих правил для команды, разрабатывающей реальный коммерческий проект
Вы узнаете при каких обстоятельствах лучше всего работать с git из командной строки, и увидите пример скрипта для проверки соблюдения правил контроля версий
Покажем на примере фикса ошибки в утилите GitVersion как создавать pull request с исправлением, а также обновлять свою копию репозитория. На примере добавления поддержки пользовательских типов данных в linq2db.EFCore покажем пример эффективного разбиения на атомарные коммиты.
Вы научитесь отменять изменения в рабочей копии, в индексе, изменения после одного или нескольких коммитов, добавлять отменяющий коммит, отменять изменения после слияния с основной веткой
Вы научитесь автоматически добавлять номер задачи к комментарию коммита, использовать патчи для передачи изменений в репозиторий без прямого доступа к нему, а также помечать коммиты с помощью тегов