Логотип Workflow

Article

Updated at:

Repositories And Commits

Этап 2 - Основы Git: репозитории и commits

После первого этапа мы выбрали один проект task-service. Теперь его нужно превратить в репозиторий с историей, чтобы дальше можно было показать реальный процесс работы команды.

Git-репозиторий — это обычная папка проекта плюс скрытая директория .git. В этой скрытой папке хранится локальная модель истории: объекты commits, указатели веток, настройки и index для staging.

Области Git-репозитория

Что делает git init

Создайте папку task-service-tutorial через Finder, Проводник Windows или IDE. Затем откройте терминал в этой папке и выполните:

git init

После этого Git начинает понимать состояние проекта как историю, а не как просто набор файлов.

.git — это внутренняя книга учета проекта. Файлы остаются теми же, но теперь фиксируется, как они менялись со временем.

Три состояния для одной и той же задачи

На этапе 2 продолжим с теми же файлами:

  • Рабочая директория: текущее состояние файлов, которое вы редактируете.
  • Staging area: что выбрано для следующего commit.
  • История коммитов: уже зафиксированные точки.

Создайте два файла в обычном редакторе или IDE.

README.md:

# Task Service

Образовательный starter для управления задачами в небольшой команде.

task-service.js:

const tasks = [];

export function addTask(task) {
  tasks.push(task);
}

Сохраните оба файла. Теперь отдельно спросите Git, что он видит:

git status

git status — это важный индикатор. Он показывает неотслеживаемые, измененные и подготовленные файлы. Упускать этот шаг — частая причина «поймал не тот diff».

Сделайте первый commit:

git add README.md task-service.js
git commit -m "chore: initialize task service scaffold"

Небольшая, но значимая история

Посмотрите историю:

git log
git log --oneline

Компактный вид (--oneline) и детальный (log) нужны оба: один показывает общую линию, другой объясняет детали.

Сделайте ещё два осмысленных коммита. Сначала откройте README.md, добавьте строку и сохраните файл:

- Sort by priority, then due date

Затем зафиксируйте изменение документации:

git add README.md
git commit -m "docs: define default task ordering rules"

После этого создайте notes.txt с содержимым:

- [ ] Add duplicate task guard

И зафиксируйте новый файл:

git add notes.txt
git commit -m "docs: add QA checklist for task behavior"

Теперь у вас есть рабочая история, которую можно анализировать и развивать на этапах с ветками.

Почему цикл обязателен

Любой продвинутый сценарий опирается на базовый цикл:

редактировать → stage → commit → проверять историю → повторять.

Если вы не уверены в этом цикле, branch/pull-request/review превращаются в рутину без осмысления.

ДействиеЧто это даёт
Инициализация репозиторияЛокальную историю, с которой можно работать
Первый commitБазовую точку отсчета
Следующие commitsЯсную картину изменений для диагностики и отката

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