Урок 01 · Одно понятие

Снимок и «ты здесь»

Самый первый кирпич: что такое коммит и почему это не «изменения». Всё остальное в Git построено поверх него.

~8 минутничего не требуется знать заранеевводить в терминал ничего не надо

Зачем это в твоей миссии

Ты хочешь смело давать агенту ломать код и знать, что откатишься. Возможность откатиться держится ровно на одном свойстве коммита — том самом, о котором почти все думают неправильно.

С чего всё начинается

Git обычно показывают как набор команд: git add, git commit, git push — произносить в правильном порядке. Отсюда и ощущение магии: пока идёт по накатанной, всё работает, а при первом отклонении непонятно, за что хвататься.

Под этими командами лежит очень маленькая структура данных с простыми правилами. В этом уроке — одно понятие из неё. Не три, а одно.

Коммит — это снимок, а не «изменения»

Вот конкретная ситуация. Ты попросил агента сделать страницу магазина, потом добавить корзину. Посмотри, что при этом происходило — по шагам:

Одна деталь, которая понадобится дальше: внутри снимка «b» лежат все три файла целиком — весь проект, а не только свежий cart.js.

Из этого следует главное свойство коммита: он самодостаточен. По одному снимку можно восстановить папку полностью, не заглядывая ни в какие соседние. Официальная книга Pro Git поэтому и называет коммиты слепками.

Почему это важно именно тебе

«Откатиться на вчера» — это взять вчерашний снимок с полки и выложить на витрину. Одно действие, никаких промежуточных шагов, которые могут не сработать. Поэтому агенту можно спокойно давать наломать дров: вчерашний день лежит целиком и никуда не денется.

У каждого снимка есть родитель — предыдущий снимок. На графе это показано стрелкой: «b» помнит, что был сделан после «a». Так снимки выстраиваются в цепочку, и эта цепочка и есть история проекта.

HEAD — это «ты здесь»

Второе понятие маленькое, но без него дальше нельзя. HEAD — отметка на карте истории: какой снимок сейчас считается текущим.

Работает это так: папка проекта — витрина, на которой всегда выложен ровно один снимок. Тот, куда показывает HEAD. Ничего больше HEAD не делает — он не хранит код, не отслеживает изменения, не связан с сервером. Он просто отвечает на вопрос «где я нахожусь в истории».

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

Как это звучит в инструкции агенту

Перед рискованной задачей

Сначала закоммить текущее состояние, а потом берись за переделку.

Ты ставишь точку возврата. Что бы дальше ни случилось, снимок «до» лежит на полке целым.

Во время долгой работы

Коммить каждый законченный кусок, а не всё одним коммитом в конце.

Десять снимков вместо одного — это десять точек, куда можно вернуться, вместо одной. Стоит это ноль.

Чтобы просто посмотреть

Покажи последние коммиты и скажи, на каком я сейчас.

Твой способ не гадать, а увидеть. Агент выведет ту же цепочку снимков, что в демо выше — теперь ты умеешь её читать.

Одна оговорка

Коммит сохраняет снимок, но только тех файлов, которые Git отслеживает. Файлы вроде .env с паролями обычно намеренно исключены и в снимок не попадают. Это укусит нас в уроке про worktrees — там и разберём.

Проверь себя

Не подглядывай наверх — смысл именно в том, чтобы вытащить ответ из головы. Ошибиться здесь полезнее, чем угадать.