2САЙТ

Git для начинающих: коммиты, ветки и конфликты

Git нужен, чтобы не терять рабочие версии, не затирать чужие правки и возвращаться к любому прошлому состоянию проекта. Курс с нуля: зачем он вообще, как устроены снимки, коммиты, ветки и конфликты — в терминале и в VSCode.

Git для начинающих: коммиты, ветки и конфликты

📐 Технический курс

Зачем Git вообще нужен

Сайт, лендинг, скрипт, набор файлов — это не документ, который «сохранил и готово». Файлы меняются каждый день. Без истории вы не ответите на три простых вопроса: какая версия вчера ещё работала, кто и зачем это поменял, как попробовать новую идею, не сломав то, что уже открыто людям.

Git закрывает именно это.

  • Откат. Сломали вёрстку или скрипт — достаёте снимок, когда ещё работало. Не из почты и не из архива на рабочем столе.
  • Память. Коммит с нормальным сообщением — записка себе через полгода: что меняли и почему.
  • Параллельная работа. Ветка — отдельная линия правок. Можно делать новую штуку, не трогая рабочую копию.
  • Общая копия. Когда людей двое и больше, нужна одна правда на сервере. Иначе правки затирают друг друга. Отсюда push, pull и конфликты — не «сложность гита ради гита», а плата за совместную работу.

Копии папок final, final_v2, исправлено_точно эту работу не делают: нет общей истории, нет веток, нет способа аккуратно слить две правки одной строки.

Чтобы Git не был набором команд «скопировал со справочника», нужно один раз понять модель: он хранит снимки проекта, не дневник строчек. Дальше курс проводит от этой модели до конфликта в VSCode.

Модель Git: фотоальбом вместо дневника правок

Распространённое заблуждение — думать, что Git сохраняет только разницу между строками (diff). Кажется, будто программа высчитывает цепочку правок и из-за этого легко путается.

В реальности Git хранит полные снимки проекта на конкретный момент. Аналогия из курса: фотоальбом, а не дневник правок. Откатиться — значит достать тот кадр. Если файл между снимками не менялся, Git не копирует его заново.

Один файл проходит четыре состояния — так в первом модуле, и на этом держится весь остальной курс:

  • Untracked — Git о файле ещё не знает.
  • Modified — файл уже был в истории, вы его поменяли, в следующий снимок ещё не взяли.
  • Staged — изменения в индексе, черновик следующего коммита.
  • Committed — снимок записан в историю, его можно вытащить обратно.

Индекс — сборочный стол. Можно поменять десять файлов, а в снимок положить только два, которые относятся к одной задаче.

Базовая работа не требует интернета: история живёт в папке .git внутри проекта. Сервер (GitHub и аналоги) появляется, когда нужна общая копия — это уже отдельный модуль.

Кому подходит этот курс

Курс для тех, кому нужно начать коммитить в своём проекте и понимать, что происходит после каждой команды:

  • начинающим разработчикам и верстальщикам — не копировать команды вслепую;
  • тем, кто идёт в командную работу — отдать свои правки и забрать чужие, не затерев проект;
  • тем, кто держит в Git не только код: тексты, исходники, конфигурации.

Если нужны внутренности протоколов и администрирование серверов Git — это другой уровень, его здесь нет. Цель — устойчивый фундамент для ежедневной практики.

Терминал и VSCode: одно и то же под капотом

Спорят, что «правильнее»: команды в терминале или кнопки в редакторе. Под капотом это одна модель. Кнопка Commit в VSCode делает то же, что git commit в консоли.

В курсе оба пути: командная строка учит точным именам и работе без оболочки; VSCode и Merge Editor показывают структуру правок, когда руками сводить конфликт неудобно.

Программа: 6 интерактивных модулей

В каждом модуле краткая теория, практика и квиз прямо в плеере.

  1. Что такое Git. Модель снимков, зачем он нужен, четыре состояния файла. История локальна, сервер — отдельно.
  2. Настройка и init. user.name и user.email один раз на машину. Репозиторий через git init и через VSCode.
  3. Stage → commit. Цикл add → commit. Сообщение коммита — записка себе через полгода.
  4. Ветки. Ветка — подвижный указатель на коммит, не копия папки. HEAD, merge, чем слияние отличается от rebase.
  5. Удалённый репозиторий. origin, tracking branch; когда push, когда pull, когда fetch.
  6. Конфликты. Двое правят одну строку. Маркеры конфликта, правка руками и VSCode Merge Editor.

Что вы будете уметь после курса

  • объяснить модель снимков и четыре состояния файла;
  • настроить Git и создать репозиторий в консоли и в VSCode;
  • делать цикл add → commit с понятными сообщениями;
  • создавать ветки, переключаться, сливать через merge;
  • синхронизироваться с origin;
  • читать конфликт и разрешать его в VSCode, не теряя ни свою, ни чужую правку.

Куда дальше

Шесть модулей — база для своих и командных проектов. Для тонкостей — бесплатная книга Pro Git на git-scm.com: там rebase, reflog и стратегии слияния.

Другие материалы студии — в разделе Материалы. Рядом курсы автоматизации SEO и harness для агентов.

Курс бесплатный, открывается с этой страницы.