Цель данного курса — показать, что Git можно и нужно использовать не только в команде, но и для одиночной разработки.
Типовые задачи, которые вы научитесь решать на курсе:
- Создание коммита
- Отправка изменений на удалённый репозиторий
- Получение изменений с удалённого репозитория
- Создание и переключение веток
- Слияние веток на уровне локального и удалённого репозитория
- Разрешение конфликтов при слиянии веток
- Сравнение различных версий программного кода
- Сравнение файлов вне репозитория
- Отмена и откладывание изменений
- Перенос и создание точной копии коммитов
Программа курса
Раздел 1. Введение в системы управления версиями
Рассмотрим, что такое системы управления версиями, какими они бывают и зачем нужны. Познакомимся с популярными VCS и начнём работать с Git.
- Зачем нужна система управления версиями
- Архитектуры VCS
- Популярные VCS
- Почему Git популярен
Установка Git
- Устанавливаем Git на Windows
- Устанавливаем Git на Linux
- Устанавливаем Git на MacOS
Первоначальная настройка Git
- Типы конфигурации Git
Практика
- Задание: первоначальная настройка
- Решение: первоначальная настройка
- Тест по первому разделу
Раздел 2. Работа с локальным и удалённым репозиторием
Научимся создавать локальный и удалённый репозиторий. После этого узнаем, как их связать между собой. Дополнительно научимся создавать коммиты и отправлять изменения на удалённый репозиторий, а также вносить изменения на удалённом репозитории и затягивать их в локальный.
- Демо: создаём локальный репозиторий
- Задание: создайте локальный репозиторий
- Решение: создайте локальный репозиторий
Работа с удалённым репозиторием
- Демо: создаём удалённый репозиторий
- Задание: создайте удалённый репозиторий
- Решение: создайте удалённый репозиторий
Связывание локального и удалённого репозитория
- Демо: связываем локальный и удалённый репозиторий
- Задание: свяжите локальный и удалённый репозиторий
- Решение: свяжите локальный и удалённый репозиторий
Внесение изменений в локальный репозиторий
- Демо: вносим изменения в локальном репозитории
- Задание: внесите изменения в локальный репозиторий
- Решение: внесите изменения в локальный репозиторий
Внесение изменений в удалённый репозиторий
- Демо: вносим изменения в удалённый репозиторий
- Задание: внесите изменения в удалённый репозиторий
- Решение: внесите изменения в удалённый репозиторий
- Демо: разрешаем конфликт при затягивании изменений
- Жизненный цикл файлов в репозитории
Раздел 3. Работа с ветками
Посмотрим, как создавать, переключать и удалять ветки. Также разберём такие немаловажные кейсы, как слияние веток и разрешение конфликтов при слиянии. Дополнительно рассмотрим, как переносить коммиты и делать их точные копии.
- Для чего нужны ветки
Создание и переключение веток
- Демо: создаём и переключаем ветки
- Задание: создайте новую ветку
- Решение: создайте новую ветку
Отправка ветки в удалённый репозиторий
- Демо: отправляем ветку в удалённый репозиторий
- Задание: отправьте ветку в удалённый репозиторий
- Решение: отправьте ветку в удалённый репозиторий
- Демо: удаляем ветку в локальном и удалённом репозитории
Слияние веток
- Зачем нужно слияние веток
- Режимы слияния
- Демо: объединяем ветки
- Задание: объедините ветки
- Кейс: объедините ветки
Разрешение конфликтов при слиянии веток
- Демо: разрешаем конфликт при слиянии веток
- Задание: разрешите конфликт при слиянии веток
- Решение: разрешите конфликт при слиянии веток
Перебазирование коммитов
- Введение в перебазирование
- Демо: перебазируем коммиты
- Задание: перебазируйте коммит
- Решение: перебазируйте коммит
Создание точной копии коммитов
- Введение в вишнёвый сбор
- Демо: создаём точную копию коммитов
- Задание: создайте точную копию коммита
- Решение: создайте точную копию коммита
- Модели ветвления
Раздел 4. Просмотр изменений
Узнаем, как просматривать незакоммиченные изменения в одном и нескольких файлах в пределах одного проекта. Разберём, как сравнивать коммиты, ветки и разные файлы, находящиеся вне репозитория. В добавок ко всему затронем тему, связанную с указателями. Разберёмся, для чего они нужны и как их использовать.
Работа с указателями
- Введение в указатели
- Демо: перемещаем указатель
- Задание: переместите указатель
- Решение: переместите указатель
Просмотр изменений
- Демо: просматриваем изменения
- Задание: просмотрите изменения
- Решение: просмотрите изменения
- Тест по четвёртому разделу
Раздел 5. Откладывание изменений
Научимся откладывать изменения, а также узнаем, для чего это нужно и в каких ситуациях используется. Дополнительно разберём, как просматривать, комментировать и удалять отложенные изменения.
- Демо: откладываем изменения
Проверка знаний
- Тест по откладыванию изменений
Практика
- Задание: отложите и верните изменение
- Решение: отложите и верните изменение
- Задание: отложите и просмотрите изменение
- Решение: отложите и просмотрите изменение
- Задание: отложите и удалите изменения
- Решение: отложите и удалите изменения
Раздел 6. Отмена изменений
Разберём, как отменять незакоммиченные и закоммиченные изменения. Также рассмотрим, как перестать отслеживать файлы. Дополнительно узнаем, как отменять успешное слияние и слияние с конфликтом.
Отмена незакоммиченных изменений
- Демо: отменяем незакоммиченные изменения
- Задание: отмените изменения, не добавленные в индекс
- Решение: отмените изменения, не добавленные в индекс
- Задание: отмените изменение, добавленное в индекс
- Решение: отмените изменение, добавленное в индекс
Отмена закоммиченных изменений
- Демо: отменяем закоммиченные изменения
- Задание: отмените закоммиченное изменение
- Решение: отмените закоммиченное изменение
Игнорирование файлов и директорий
- Демо: игнорируем файлы и директории
- Демо: удаляем файл из отслеживания
- Задание: удалите файл из отслеживания
- Решение: удалите файл из отслеживания
Отмена слияний
- Демо: отменяем успешное слияние
- Демо: отменяем слияние с конфликтом
- Задание: отмените успешное слияние
- Решение: отмените успешное слияние
- Тест по шестому разделу
Раздел 7. Итоговый
Подведём итоги курса и закрепим полученные знания. Также дадим советы, которые помогут вам при работе с Git.
- Подводим итоги курса
- Советы по работе с Git
- Итоговый тест по курсу
Раздел 8. Бонусный
Этот раздел необязателен для прохождения, но если его пройти, вы получите дополнительные знания, которые пригодятся при работе с Git. Особое внимание в нём уделено SSH-подключению, а также команде git reflog, которая откатывает без последствий любую операцию, даже слияние.
- Демо: загружаем изменения из удалённого репозитория
- Демо: используем журнал Git для отмены операций
- Демо: создаём полноценную копию чужого репозитория
- Демо: настраиваем подключение по SSH
- Демо: настраиваем GPG для подписания коммитов
- Расшифровка статусов Git
- Демо: работаем с Git в редакторе кода VS Code
- Демо: работаем с Git в приложении GitHub Desktop
- Демо: базовые команды для терминала
- Демо: размещаем проект на GitHub Pages
Дополнительные материалы
- Основная документация
- Шпаргалка с часто используемыми командами
- Интересные книги по системам управления версиями
- Как облегчить жизнь при использовании Git








