Кратко
Git — система контроля версий. Она запоминает каждое изменение в коде и позволяет вернуться к любой точке в истории. Git работает локально: все данные хранятся на вашем компьютере. Основной workflow: изменить файлы → git add → git commit.
Подробно
Зачем нужен Git?
Git запоминает ВСЕ изменения вашего кода:
- Вы можете вернуться к любой версии файла
- Вы можете сравнить две версии
- Вы можете отменить изменения
- Вы можете работать в команде, не затрагивая чужой код
Установка:
- Windows: https://git-scm.com/download/win
- Mac: git (уже установлен) или Xcode Command Line Tools
- Linux: sudo apt install git
Проверка: git --version
Инициализация: cd my-project git init # Создаёт скрытую папку .git
Основной workflow:
- Сделали изменения в файлах
- Проверили: git status (видит изменённые файлы)
- Добавили в «индекс»: git add файл
- Закоммитили: git commit -m "описание"
Пример: git status # Показывает изменённые файлы git add index.html # Добавить файл в индекс git commit -m "Добавил заголовок" # Закоммитить
Коммит — это «снимок» ваших файлов в определённый момент.
Просмотр истории: git log # Список коммитов git log --oneline # Краткий формат
Что хранит Git:
- Имена файлов
- Содержимое файлов
- Автор и время коммита
- Описание коммита
Что НЕ хранит Git:
- Пароли
- Огромные бинарные файлы
- node_modules (обычно)
Ментальная модель
Git — как «машина времени» для вашего кода. Каждый коммит — это точка в времени, к которой можно вернуться. Вы можете путешествовать в прошлое (git checkout), сравнивать эпохи (git diff) и создавать новые ветки (параллельные реальности).
Примеры
**Самый простой:**
# Инициализация репозитория
git init
git status # Видит untracked файлы
git add index.html # Добавить в индекс
git commit -m "Первый коммит"
git log --oneline # abc1234 First commitБазовый workflow: init → add → commit.
**Простой:**
# Создайте файл, внесите изменения
echo "Hello" > greeting.txt
git status # modified: greeting.txt
git add greeting.txt
git commit -m "Добавил приветствие"
# Посмотрите историю
git log --oneline
# def5678 Добавил приветствие
# abc1234 Первый коммитКоммит с описанием и просмотр истории.
**Реальный пример:**
# Работа с проектом
git status
git add src/index.js src/app.js
git commit -m "Добавил главный компонент"
# Проверяем что коммитнули
git log --oneline -2
# 9f8e7d6 Добавил главный компонент
# def5678 Добавил приветствие
# Смотрим разницу
git diff HEAD~1 # Что изменилось в последнем коммитеРеальный workflow: добавление нескольких файлов и проверка изменений.
Частые ошибки
**Неправильно:** Коммитить без add
**Почему:** git commit коммитит только файлы из индекса (staged). Без add изменения не попадут в коммит.
**Правильно:** Сначала git add, потом git commit.
**Неправильно:** Не писать осмысленные описания коммитов
**Почему:** "fix", "update", "поменял" — бесполезные описания. Они не помогут понять, что было сделано.
**Правильно:** Пишите КАКЧЕ именно изменилось: "Добавил форму регистрации".
**Неправильно:** Коммитить всё подряд
**Почему:** Коммит должен содержать одно логическое изменение. Смешивать исправление бага и новую фичу — плохо.
**Правильно:** Один коммит = одно логическое изменение.
Важно запомнить
- git init — создать репозиторий
- git add — добавить в индекс
- git commit -m "описание" — сохранить снимок
- git status — посмотреть текущее состояние
- git log --oneline — история коммитов
- Один коммит = одно логическое изменение
Связь
Назад: Вы умеете пользоваться терминалом (T1). Git запускается через терминал.
Вперёд: Следующий урок (T3) — GitHub: хостинг вашего Git-репозитория в интернете.