# Git с нуля до уверенного разработчика

> Освойте Git так, чтобы уверенно работать в команде, грамотно вести историю проекта и успешно проходить технические собеседования — от первого коммита до pull request'а в реальном репозитории.

URL: https://skillaria.top/ru/courses/git

## For whom

Начинающие программисты, которые уже пишут код на любом языке, но никогда серьёзно не работали с системой контроля версий или знают Git поверхностно и хотят привести знания в порядок перед выходом на рынок труда.

## Prerequisites

Базовые навыки работы с командной строкой: переход между папками, создание и удаление файлов. Умение писать простой код на любом языке — язык не важен, важен сам факт, что вы уже что-то программируете.

## Access

Subscription; promo code BETA100 currently gives free access. Lecture previews are public.

## Lectures

### 0. [Введение: Git с нуля до уверенного разработчика](https://skillaria.top/ru/courses/git/25) — 6 min

### 1. [Зачем вообще нужен Git — и почему без него не берут на работу](https://skillaria.top/ru/courses/git/26) — 22 min

Мы начнём не с команд, а с боли: посмотрим, как выглядит разработка без контроля версий — папки «проект_финал_2», «проект_финал_ТОЧНО_ФИНАЛ» и страх удалить лишнее. Вы поймёте, какую именно проблему решает Git, почему он стал стандартом индустрии и что конкретно работодатель проверяет, когда смотрит на ваш GitHub-профиль.

Key concepts: система контроля версий, история изменений, распределённая архитектура

### 2. [Установка и настройка: готовим Git к первому запуску](https://skillaria.top/ru/courses/git/27) — 18 min

Установим Git на Windows, macOS и Linux, разберём, почему конфигурация имени и email — это не формальность, а часть истории коммитов. Настроим удобный терминал и несколько полезных алиасов, чтобы с первого дня работать комфортно, а не мучиться с длинными командами.

Key concepts: установка Git, git config, глобальная конфигурация

### 3. [Первый репозиторий: init, add, commit и магия индекса](https://skillaria.top/ru/courses/git/28) — 28 min

Создаём первый репозиторий и сразу сталкиваемся с концепцией, которую многие не понимают годами — staging area (индекс). Мы разберём, зачем нужен этот «промежуточный слой» между рабочей папкой и историей, и увидим на примерах, почему именно двухшаговая система add → commit делает коммиты осмысленными, а не случайными.

Key concepts: репозиторий, staging area, коммит

### 4. [Читаем историю: log, diff, show и навигация по прошлому](https://skillaria.top/ru/courses/git/29) — 25 min

История проекта — это не просто лог, это документация решений. Научимся читать историю информативно: фильтровать коммиты, смотреть, что именно изменилось между версиями, и понимать хеши SHA-1 без страха. Отдельно разберём, как отличить «хорошую историю» от «мусорной» — это напрямую влияет на то, как вас воспримут в команде.

Key concepts: хеш коммита, git log, git diff

### 5. [Ветки: параллельная реальность вашего кода](https://skillaria.top/ru/courses/git/30) — 32 min

Ветки — это сердце Git, и именно здесь большинство новичков начинают бояться. Мы демистифицируем ветки: покажем, что ветка — это просто указатель, а не копия файлов. Разберём, как создавать ветки, переключаться между ними и сливать изменения, а также увидим разницу между fast-forward и трёхсторонним слиянием на живых примерах.

Key concepts: ветка, HEAD, merge

### 6. [Отменяем ошибки: restore, reset, revert — правильно и опасно](https://skillaria.top/ru/courses/git/31) — 30 min

Одна из самых востребованных тем на собеседованиях и в реальной работе — как отменить то, что уже сделано. Мы разберём три инструмента с разной «глубиной» отмены и сосредоточимся на самом важном: покажем конкретные сценарии, где reset --hard разрушает командную работу, а revert — безопасная альтернатива. Хорошие и плохие решения — с реальными последствиями.

Key concepts: git restore, git reset, git revert

### 7. [GitHub и удалённые репозитории: ваш код в облаке](https://skillaria.top/ru/courses/git/32) — 27 min

Переходим от локальной работы к командной: разбираемся, что такое remote, как связать локальный репозиторий с GitHub и в чём разница между push, pull и fetch — три команды, которые путают чаще всего. Отдельно рассмотрим аутентификацию через SSH-ключи, потому что работодатели ожидают, что вы настроите это сами.

Key concepts: remote, origin, push / pull / fetch

### 8. [Командная работа: форки, feature-ветки и pull request'ы](https://skillaria.top/ru/courses/git/33) — 33 min

Именно этот раздел описывает то, как работает 90% open-source и корпоративных команд. Мы пройдём полный цикл: fork → feature-ветка → коммиты → pull request → code review → merge. Отдельно разберём, как писать описание PR, чтобы ревьюер сразу понял контекст, и какие ошибки в PR сразу выдают новичка.

Key concepts: fork, pull request, code review

### 9. [Конфликты слияния: не паникуем — разбираемся и решаем](https://skillaria.top/ru/courses/git/34) — 28 min

Конфликты пугают новичков, но после этого раздела вы будете встречать их спокойно. Разберём, почему конфликты возникают (Git не читает мысли — он не знает, чьё изменение важнее), как читать маркеры конфликта и как выбрать правильное решение. Покажем два подхода: ручное разрешение и использование merge-инструментов.

Key concepts: конфликт слияния, маркеры конфликта, разрешение конфликта

### 10. [Git-процессы в реальных командах: какой workflow выбрать](https://skillaria.top/ru/courses/git/35) — 23 min

На собеседованиях часто спрашивают: «Какой Git-workflow вы использовали?» После этого раздела у вас будет честный и развёрнутый ответ. Рассмотрим три популярных подхода — Feature Branch Workflow, Git Flow и Trunk-Based Development — и разберём, где каждый из них работает хорошо, а где становится тормозом.

Key concepts: Feature Branch Workflow, Git Flow, Trunk-Based Development

### 11. [Продвинутые инструменты: rebase, stash, cherry-pick и теги](https://skillaria.top/ru/courses/git/36) — 35 min

Переходим к инструментам, которые отличают уверенного пользователя Git от того, кто знает только базу. Разберём rebase как альтернативу merge — покажем, когда он делает историю чище, а когда превращает её в кошмар. Добавим stash для быстрого «откладывания» незаконченной работы, cherry-pick для точечного переноса коммитов и теги для маркировки релизов.

Key concepts: git rebase, git stash, git cherry-pick

### 12. [Финальный проект: симулируем настоящую командную разработку](https://skillaria.top/ru/courses/git/37) — 35 min

Применяем всё, что вы изучили, в связном сценарии: вы — разработчик в небольшой команде, которой нужно добавить новую фичу, исправить баг и выпустить релиз. Пошагово проходим полный цикл: создание репозитория, работа в ветках, pull request'ы, намеренно созданные конфликты и их разрешение, rebase для чистки истории и финальный релизный тег. В конце у вас на руках — реальный репозиторий, который можно показать работодателю.

Key concepts: полный Git-workflow, командная разработка, релизный цикл

