Знакомство с Git
1Что такое Git и зачем он нужен← вы здесь2Первые шаги: init, add, commit3История и изменения: log и diff
Урок 1~9 минут

Что такое Git и зачем он нужен

Представь, что ты пишешь код. Что-то сломалось. Хочешь вернуться к версии, которая работала — но нет никакой истории. Только один файл main_final_v3_FINAL2.js.

Это жизнь без Git. Один раз попав в такую ситуацию — понимаешь, зачем он нужен.

Что такое Git

Git — это система контроля версий. Она сохраняет историю изменений твоего кода: кто, что и когда изменил. Можно откатиться к любой точке в прошлом, работать параллельно в нескольких ветках, и спокойно экспериментировать — ничего не потеряется.

Git придумал Линус Торвальдс (тот самый, что создал Linux) в 2005 году за несколько недель. Он написал его потому, что существующие системы его не устраивали. Сегодня им пользуются почти все разработчики на планете.

Три зоны Git

Вот что важно понять с самого начала — у Git три зоны:

Рабочая папка  →  Staging Area  →  Repository
 (твои файлы)      (git add)        (git commit)

Working Directory — обычная папка с файлами. Ты редактируешь файлы здесь.

Staging Area (индекс) — промежуточная зона. Ты явно выбираешь, что войдёт в следующий коммит. Это даёт контроль — можно закоммитить только часть изменений.

Repository — история коммитов. Каждый коммит — это снимок всего проекта в момент времени. Снимки связаны между собой в цепочку.

Попробуй сам

Ниже — интерактивная визуализация всех трёх зон. Кликай на файлы в рабочей папке, чтобы добавить их в staging. Потом коммить.

Вот что происходит за кулисами:

  • git add index.js — файл переходит из рабочей папки в staging
  • git add . — добавляет все изменённые файлы
  • git commit -m "сообщение" — фиксирует staging как новый снимок в истории

Почему staging вообще нужен?

Это может показаться лишним шагом. Зачем не коммитить напрямую?

Потому что реальная работа не такая чистая. Ты правишь несколько вещей одновременно. Staging позволяет разбить это на логичные атомарные коммиты:

Изменил 5 файлов за день:
  - 2 файла: исправил баг в авторизации
  - 3 файла: добавил новую фичу

→ git add auth.js login.js
→ git commit -m "fix: авторизация не падает на пустой пароль"

→ git add feature.js utils.js config.js  
→ git commit -m "feat: добавил фильтр по категориям"

Два коммита — два понятных изменения. Через месяц ты (или коллега) откроет историю и сразу поймёт, что происходило.

Первые команды

bash
git init          # создаём репозиторий в текущей папке
git status        # что изменилось?
git add .         # добавляем всё в staging
git commit -m ""  # фиксируем снимок
git log           # смотрим историю

Это весь базовый цикл. В следующем уроке — разберём каждую команду в деталях с практикой.

Git — это машина времени для твоего кода. Каждый коммит — снимок, к которому можно вернуться.
Working Directory
📄index.jsuntracked
🎨style.cssuntracked
📝README.mduntracked
⚙️app.jsuntracked
Кликни на файл → git add
Staging Area (Index)
пусто — добавь файлы
Repository (.git)
коммитов пока нет
untracked / modified — в рабочей папке
staged — готово к коммиту
committed — сохранено в истории
🎯
Миссия 1 из 3
Как называется команда для создания нового репозитория Git?