Тур по Git
Основы Git / Урок 1.10

Полный рабочий процесс Git

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

Основной цикл

Каждое изменение, которое вы вносите в Git, следует этому шаблону:

Редактирование  -->  Статус  -->  Индексация  -->  Коммит
       ^                                              |
       |                                              |
       +----------------------------------------------+
  1. Редактируйте файлы в вашем редакторе
  2. Статус --- выполните git status, чтобы увидеть, что изменилось
  3. Индексация --- добавьте нужные изменения с помощью git add
  4. Коммит --- сохраните снимок с помощью git commit
  5. Повторите

Типичная сессия

Вот как выглядит реальный рабочий процесс:

# 1. Проверьте, где вы находитесь
git status

# 2. Внесите изменения
# (редактируйте файлы в вашем редакторе)

# 3. Просмотрите, что изменилось
git diff

# 4. Проиндексируйте конкретные файлы
git add src/feature.js
git add src/feature.test.js

# 5. Перепроверьте, что проиндексировано
git diff --staged

# 6. Зафиксируйте с понятным сообщением
git commit -m "Add user profile feature"

# 7. Проверьте в логе
git log --oneline -3

Выбор того, что коммитить

Не каждое изменение должно попадать в один коммит. Хорошая практика --- делать маленькие, сфокусированные коммиты, каждый из которых делает одну вещь:

  • Одно исправление бага = один коммит
  • Одна фича = один коммит (или небольшая серия)
  • Рефакторинг = отдельный коммит от изменений поведения

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

Ментальная модель

Думайте о рабочем процессе Git как о трёх областях:

ОбластьЧто там находитсяКоманда для продвижения
Рабочая директорияВаши текущие правкиgit add
Область индексацииИзменения, готовые к коммитуgit commit
РепозиторийПостоянная историяgit log для просмотра

Файлы перемещаются слева направо. Вы контролируете, что именно продвигается на каждом шаге.

Краткий справочник

КомандаНазначение
git statusПосмотреть, что изменилось
git diffУвидеть непроиндексированные изменения подробно
git add <file>Проиндексировать файл для коммита
git diff --stagedУвидеть проиндексированные изменения подробно
git commit -m "msg"Сохранить снимок
git log --onelineПросмотреть недавнюю историю
git commit --amendИсправить последний коммит

Что дальше?

Освоив эти основы, вы готовы изучить ветвление --- главную возможность Git, которая позволяет работать над несколькими задачами одновременно, не мешая друг другу.