Цель данного курса — показать, что 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