Инструменты

Основы Git

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

Фундамент (Foundation)
Нужно знать:Основы терминала

Кратко

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) и создавать новые ветки (параллельные реальности).


Примеры

**Самый простой:**

bash
# Инициализация репозитория
git init
git status              # Видит untracked файлы
git add index.html      # Добавить в индекс
git commit -m "Первый коммит"
git log --oneline       # abc1234 First commit

Базовый workflow: init → add → commit.

**Простой:**

bash
# Создайте файл, внесите изменения
echo "Hello" > greeting.txt
git status              # modified: greeting.txt
git add greeting.txt
git commit -m "Добавил приветствие"

# Посмотрите историю
git log --oneline
# def5678 Добавил приветствие
# abc1234 Первый коммит

Коммит с описанием и просмотр истории.

**Реальный пример:**

bash
# Работа с проектом
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-репозитория в интернете.

Материалы курса Инструменты — PROlab Academy.