Основы Git для начинающих

Комплексное введение в систему контроля версий

О курсе

Этот курс — комплексное введение в Git, самую популярную распределенную систему контроля версий. Программа рассчитана на новичков и проведет вас от базовых концепций до уверенной работы с удаленными репозиториями на платформе GitHub. По окончании курса вы сможете управлять историей своих проектов, эффективно работать над кодом в одиночку и быть готовым к командной разработке.

Целевая аудитория Начинающие разработчики, студенты IT-специальностей, дизайнеры и тестировщики
Формат 8 разделов, лекции с теорией и практические задания
Итог Навыки работы с Git и GitHub, готовность к командной разработке
01

Введение в мир систем контроля версий

В этом разделе мы разберемся, что такое системы контроля версий (VCS) и почему они стали незаменимым инструментом для любого разработчика. Вы поймете ключевое отличие распределенных систем (как Git) от централизованных и осознаете, какие проблемы решает Git в повседневной работе.

Ключевые темы

  • Что такое система контроля версий (VCS)?
  • Зачем нужен Git: история изменений, совместная работа, эксперименты
  • Централизованные (SVN) vs. Распределенные (Git) системы
  • Основные понятия: репозиторий, коммит, рабочий каталог
  • Реальные примеры использования Git в проектах
Практическая работа: Анализ преимуществ систем контроля версий на конкретных примерах. Понимание места и роли Git в современной разработке.
02

Первая настройка и создание репозитория

Мы перейдем от теории к практике. Вы установите Git на свой компьютер, выполните первоначальную настройку, чтобы система знала, кто вы, и создадите свой первый локальный репозиторий. Этот раздел закладывает фундамент для всей дальнейшей работы.

Ключевые темы

  • Установка Git для Windows, macOS, Linux
  • Первоначальная настройка: git config (имя пользователя, email)
  • Инициализация репозитория: команда git init
  • Проверка состояния репозитория: команда git status
  • Структура Git-репозитория и скрытая папка .git
Практическая работа: Установить и настроить Git на своем компьютере. Создать новый Git-репозиторий в любой папке и проверить его статус.
03

Базовый рабочий цикл: Индексация и коммиты

Это сердце ежедневной работы с Git. Вы изучите основной цикл "изменил → добавил в индекс → сохранил (сделал коммит)". Мы также обсудим, как писать информативные сообщения к коммитам, чтобы история проекта была понятной и полезной.

Ключевые темы

  • Понятие коммита как "снимка" проекта
  • Область индексирования (Staging Area) и ее назначение
  • Команда git add: добавление файлов в индекс
  • Команда git commit: создание коммита с сообщением
  • Правила хорошего тона в написании сообщений коммитов
  • Отмена изменений и работа с git restore
Практическая работа: Создание нескольких файлов в репозитории, их индексация и создание осмысленных коммитов с правильно оформленными сообщениями.
04

Путешествие во времени: Просмотр истории и изменений

Git хранит всю историю проекта, и важно уметь ею пользоваться. В этом разделе вы научитесь просматривать список всех коммитов, анализировать, что именно изменилось в каждом из них, и сравнивать разные версии файлов.

Ключевые темы

  • Просмотр журнала коммитов: git log и его полезные флаги (--oneline, --graph)
  • Просмотр различий между версиями: git diff
  • Сравнение рабочего каталога, индекса и коммитов
  • Детальная информация о конкретном коммите: git show
  • Навигация по истории с помощью хешей коммитов
Практическая работа: Анализ истории созданного репозитория, поиск конкретных изменений, использование различных флагов git log для форматирования вывода.
05

Ветвление: Суперсила Git

Ветки — одна из самых мощных функций Git. Вы узнаете, как создавать параллельные линии разработки для новых функций или исправлений, не затрагивая стабильный основной код. Это позволяет безопасно экспериментировать и структурировать работу.

Ключевые темы

  • Что такое ветка и зачем она нужна
  • Указатель HEAD и его назначение
  • Создание новой ветки: git branch
  • Переключение между ветками: git checkout и git switch
  • Создание и переключение в одну команду: git checkout -b
  • Просмотр списка веток и текущей ветки
Практическая работа: Создание нескольких веток для разных функций проекта, переключение между ними, внесение изменений в каждую ветку независимо.
06

Слияние веток: Объединение результатов работы

После того как работа в отдельной ветке завершена, ее изменения нужно внести в основную ветку. Вы научитесь выполнять слияние (merge) веток, объединяя таким образом результаты своей работы с основной линией разработки.

Ключевые темы

  • Концепция слияния (merge)
  • Простое слияние (fast-forward)
  • Выполнение слияния: git merge
  • Удаление ненужных веток: git branch -d
  • Базовое понимание конфликтов слияния
  • Стратегии разрешения конфликтов
Практическая работа: Слияние созданных веток в основную ветку main, обработка простых конфликтов слияния, очистка устаревших веток.
07

Работа в команде: Удаленные репозитории и GitHub

Git раскрывает всю свою мощь при работе с удаленными репозиториями. Мы научимся связывать локальный проект с GitHub, публиковать (push) свои изменения на сервер и загружать (pull) изменения других разработчиков. Это основа для командной работы.

Ключевые темы

  • Что такое удаленный репозиторий (Remote)?
  • Регистрация и создание репозитория на GitHub
  • Связывание локального и удаленного репозиториев: git remote add
  • Отправка изменений на сервер: git push
  • Клонирование (копирование) удаленного репозитория: git clone
  • Загрузка изменений с сервера: git pull и git fetch
  • Работа с несколькими удаленными репозиториями
Практическая работа: Создание репозитория на GitHub, публикация локального проекта, клонирование чужого репозитория, синхронизация изменений между локальным и удаленным репозиториями.
08

Практический воркфлоу и дальнейшие шаги

В финальном разделе мы соберем все изученные команды в единый профессиональный рабочий процесс (workflow). Вы узнаете о концепции Pull Request на GitHub, познакомитесь с файлом .gitignore и получите карту дальнейшего развития своих навыков в Git.

Ключевые темы

  • Классический Git Flow: работа с ветками, push, pull request
  • Назначение и синтаксис файла .gitignore
  • Краткое введение в разрешение конфликтов слияния
  • Обзор продвинутых команд: git stash, git rebase
  • Лучшие практики работы с Git в команде
  • Графические клиенты для Git
Практическая работа: Создание .gitignore файла для проекта, выполнение полного цикла работы от создания ветки до Pull Request, применение всех изученных команд в едином workflow.

Итоговый проект

Тема: "Создание и публикация персонального портфолио на GitHub"

Задание: Создать локальный репозиторий для простого сайта-портфолио (HTML/CSS). Используя ветки, разработать разные разделы сайта (например, about-me, my-projects, contacts). Слить все ветки в основную (main), настроить .gitignore для игнорирования временных файлов, и опубликовать готовый проект на GitHub, сделав его публичным.

Что дальше? Рекомендации по изучению продвинутых тем: разрешение конфликтов, интерактивный rebase, работа с хуками и изучение графических клиентов для Git.

Вернуться на главную