Гайд · Claude Code · сентябрь 2026
Как откатить изменения Claude Code: /rewind, git и 5 путей
Claude Code внёс правку, а то, что вчера работало, сегодня не открывается или показывает не то. 5 путей вернуть рабочее состояние - какой сработает в твоей ситуации, зависит от того, ГДЕ именно случилась поломка: в самом чате с Claude Code, отдельной командой мимо чата, или правка вообще уже ушла в сохранённую версию проекта
Мой собственный прогон 4 сентября 2026 года: я собрал тестовый проект, сделал три сохранения подряд, третье специально сломал - и вернул рабочую версию одной командой, не потеряв ни одной из трёх записей истории. Полный вывод команд лежит рядом со статьёй, без сокращений
Прямо сейчас нажми Esc дважды при пустом поле ввода - откроется список твоих последних сообщений, и по каждому можно вернуть код и разговор к тому моменту. Если правка уже вышла из этой сессии или файл пропал отдельной командой мимо самого чата, тот же список не поможет - тогда нужна система сохранения версий, и дальше в статье сказано, какая именно команда
Первое, что нужно понять: какой инструмент делал правку
Прежде чем выбирать путь отката, ответь себе на один вопрос: правку внёс сам Claude Code через свои инструменты правки файлов в чате, или файл пропал отдельной командой мимо самого чата (стёр, переименовал, перезаписал одной строкой)? От ответа зависит всё дальше
Разница критична, потому что встроенная история Claude Code видит только первое. По официальной документации Anthropic, чекпойнты Claude Code отслеживают ТОЛЬКО изменения, сделанные его собственными инструментами правки файлов - команды вроде rm file.txt, mv old.txt new.txt или cp source.txt dest.txt, введённые отдельно от чата, эта история не видит и отменить не может
| Кто сломал | Видит ли встроенная история Claude Code | Какой путь дальше |
|---|---|---|
| Сам Claude Code правкой файла в чате | Да | Esc дважды или /rewind - путь 1 |
| Отдельная команда мимо чата (rm, mv, cp) | Нет | система сохранения версий - пути 2 и 3, либо ручная копия - путь 4 |
| Правка вышла из этой сессии Claude Code | Нет, история живёт с сессией | система сохранения версий или ручная копия |
Таблица прокручивается вбок →
Если не уверен, откуда пришла поломка - начни с пути 1, он самый быстрый и ничем не рискует. Не сработал - переходи к путям с сохранением версий ниже
Путь 1: Esc дважды или /rewind - откат прямо в чате Claude Code
Что делаешь: в окне Claude Code, там же где ты обычными словами пишешь ИИ задачи, нажми клавишу Esc два раза подряд, когда поле ввода пустое. Если хочешь то же самое текстовой командой - впиши в это же поле /rewind и нажми Enter
Что делать с этим дальше, разобрано в статье Безопасность ИИ-агентов
Путь 1 на практике: /rewind
- Что нажать Esc дважды подряд в пустом поле ввода, либо впиши команду
/rewindи нажми Enter. Если в поле уже есть текст - двойной Esc сначала просто его сотрёт, историю можно вернуть стрелкой вверх - Что увидишь на экране откроется список твоих последних сообщений в этом разговоре. Выбираешь нужную точку - и появляется меню из нескольких действий
- Что выбрать в меню «Restore code and conversation» вернёт и файлы, и переписку к тому моменту. «Restore code» - только файлы, переписка останется как есть. «Restore conversation» - только переписка, файлы не тронет
- Что это тебе даёт секундный откат без единой отдельной команды - подходит, когда правку в файл вносил сам Claude Code в этой же сессии
По документации Anthropic, снимок состояния делается автоматически перед каждым твоим сообщением, и хранится 100 последних таких точек за сессию - удаляются они вместе с сессией примерно через 30 дней. Если ты выходил из Claude Code и зашёл заново тем же проектом (команда /resume), список точек сохраняется и доступен так же
Ограничение, о котором стоит знать заранее: путь 1 НЕ откатывает правки другого параллельного помощника (субагента), если тот работал в фоне, и не восстанавливает файлы, которые в проекте являются симлинками или жёсткими ссылками - для них Claude Code честно покажет предупреждение, что часть файлов пропущена
Если поломка случилась не через правку файла в чате, а через отдельную команду мимо чата - Esc и /rewind её не увидят вообще, это подтверждает и статья с более широким разбором защиты - безопасность автономных ИИ-агентов: 4 риска 2026 года, там прямо сказано: встроенная история Claude Code «не спасает» от команд вроде rm или mv, потому что видит только правки самого агента в чате
Как понять, что у проекта уже включена система сохранения версий
Прежде чем переходить к путям 2 и 3, стоит проверить один момент: если система сохранения версий у проекта вообще не подключена, команды git restore и git revert работать не будут - они умеют возвращать только то, что уже было сохранено этой же системой хотя бы раз
Проверка простая и не требует от тебя знания команд:
Проверка перед путями 2 и 3
- Что спросить напиши Claude Code прямым текстом: «есть ли у этой папки проекта включённая система сохранения версий, и если да - когда было последнее сохранение?»
- Что увидишь на экране либо подтверждение с датой последнего сохранения, либо честный ответ, что системы нет и она не подключена
- Что это тебе даёт если системы нет - сразу переходи к пути 4 (ручная копия), не теряя время на команды, которые не сработают
Если система есть, но последнее сохранение было давно (до нескольких твоих последних правок) - откат вернёт файл не к вчерашней рабочей версии, а к той старой точке. Это стоит знать заранее, а не выяснять после команды
Путь 2: git restore - когда правка ещё не сохранена как отдельная версия
Что делаешь: если у твоего проекта уже включена система сохранения версий (проверил в разделе выше), и последняя правка ещё не оформлена отдельным сохранением - команда git restore вернёт файл к предыдущему сохранённому состоянию
Я проверил эту команду своим прогоном: взял тестовый файл, изменил его содержимое, не сохраняя правку отдельной версией, и одной командой git restore вернул исходный текст обратно - файл встал ровно таким же, каким был
Путь 2 на практике: git restore
- Куда написать попроси Claude Code словами: «верни файл к последней сохранённой версии, ничего не потеряв» - он выполнит нужную команду сам, тебе не обязательно знать её название
- Что увидишь на экране короткое подтверждение, что файл возвращён, и сам файл на экране снова показывает старое содержимое
- Что это тебе даёт отменяется именно та правка, которая ещё не была сохранена отдельной точкой - как будто её и не вносили
Путь 3: git revert - когда сломанная правка уже сохранена как версия
Что делаешь: если поломка уже попала в отдельное сохранение (версию) проекта, git restore тут не поможет - нужна команда git revert. Она создаёт НОВОЕ сохранение, которое отменяет действие плохого, и при этом ни одна старая запись истории не пропадает - все версии остаются видны, просто последняя из них снова рабочая
В моём прогоне это выглядело так: три сохранения подряд, третье - сломанная версия. Одна команда git revert вернула файл к содержимому второго сохранения, а в списке версий остались видны все четыре записи - три исходных плюс новая, отменяющая
Путь 3 на практике: git revert
- Куда написать попроси Claude Code: «последнее сохранение сломало проект, отмени его новой версией, не удаляя историю» - формулировка «не удаляя историю» важна, она отличает revert от более резких команд ниже
- Что увидишь на экране сообщение о новой версии с пометкой «Revert» в названии, и файл снова показывает рабочее содержимое
- Что это тебе даёт откат без потери ни одной прежней записи - если через день окажется, что откатывать не стоило, есть куда вернуться и это тоже
Есть и более резкая команда для этого же случая - она отбрасывает несохранённые изменения без возможности их вернуть, и я сознательно не привожу её тестовый прогон в этой статье: слишком легко зацепить лишнее, если формулировка задачи Claude Code не была предельно точной. Если действительно нужен именно такой резкий откат - проси его отдельным явным сообщением и предварительно сохрани текущее состояние на всякий случай, а не проси «на автомате»
Путь 4: ручная копия папки - когда система сохранения версий вообще не подключена
Что делаешь: самый простой путь без единой команды. Скопируй всю папку проекта целиком и добавь к имени копии сегодняшнюю дату - например, «мой-сайт-4-сентября». Это займёт около минуты и не требует знания системы сохранения версий вообще
Путь 4 на практике
- Что сделать ДО следующей правки скопируй папку проекта, переименуй копию с сегодняшней датой в конце названия
- Если правка уже сломала проект, а копии нет спроси Claude Code: «покажи все файлы, которые ты менял за последнюю просьбу» - и отмени вручную только их, не трогая остальное
- Что это тебе даёт страховку, которая работает даже без системы сохранения версий и даже если Claude Code вообще не видит поломку своей историей - потому что копия лежит отдельно от проекта, её не может задеть ни одна правка внутри самого проекта
Этот путь медленнее остальных и требует, чтобы копия была сделана ДО поломки, а не после - назад в прошлое ни один инструмент не откатит, если точки сохранения не существовало вообще. У соседней статьи есть более подробный разбор этой же дисциплины на уровне процесса доработки целиком, не только механики отдельной команды - собрал продукт на ИИ - что дальше: дорабатывай, не ломая
Что вернёт каждый путь: код, разговор или оба
Четыре пути выше возвращают разные вещи, и путаница именно здесь чаще всего приводит к тому, что человек откатывает не то
| Путь | Что возвращает | Живёт ли после закрытия Claude Code |
|---|---|---|
| Esc дважды / /rewind | Код, переписку или оба - выбираешь в меню | Да, вместе с сессией, около 30 дней |
| git restore | Только содержимое файла, до последней сохранённой версии | Да, пока существует папка проекта |
| git revert | Только содержимое файла, новой версией поверх старой | Да, постоянно, это часть истории проекта |
| Ручная копия папки | Всё содержимое папки целиком, как отдельный слепок | Да, пока копия физически лежит на диске |
Таблица прокручивается вбок →
Заметь: ТОЛЬКО путь 1 умеет возвращать саму переписку с Claude Code отдельно от кода - если тебе важно вернуть не файлы, а именно то, что обсуждалось в чате, остальные пути этого не делают вообще, потому что они работают с файлами, а не с разговором
Ловушка: откат вернул больше, чем ты хотел
Частая ошибка новичка: правок было несколько подряд, что-то сломалось на третьей, а откат возвращает файл к состоянию ПЕРВОЙ - и вместе со сломанной третьей правкой пропадают и вполне рабочие вторая с первой
Это происходит, когда точка отката выбрана слишком далеко назад. У каждого пути своя точность:
| Путь | Насколько точно можно выбрать точку | Что делать, если правок было несколько |
|---|---|---|
| Esc дважды / /rewind | Точно - список показывает КАЖДОЕ твоё сообщение отдельно | Выбирай точку сразу перед той правкой, что сломала, не раньше |
| git restore | Только последнее сохранённое состояние | Если сохранений было несколько, восстановит именно последнее |
| git revert | Точно - отменяет ровно ОДНО названное сохранение | Можно откатить только третью правку, не трогая первую и вторую |
| Ручная копия папки | Зависит от того, сколько копий ты сделал | Если копия одна - вернёшься именно к ней, какой бы старой она ни была |
Таблица прокручивается вбок →
Практический вывод: если правок было несколько и сломалась не первая из них, путь 3 (git revert) точнее пути 4 (ручная копия) - он умеет отменить ровно одну конкретную правку, не трогая соседние
Разница между откатом кода и откатом разговора на практике
В меню Esc/rewind три разных выбора не для галочки, а для трёх разных реальных ситуаций - и путать их означает либо потерять историю переписки, к которой ты собирался вернуться, либо оставить на диске сломанный файл
Когда какой выбор нужен:
- «Restore code and conversation» - используй, если хочешь полностью вернуться к тому моменту: и файлы, и то, о чём вы говорили с Claude Code, встанут ровно как были. Это самый частый выбор при обычной поломке
- «Restore code» - используй, если файлы сломались, но переписка с объяснениями и контекстом задачи тебе ещё нужна для следующей просьбы. Файлы вернутся, а разговор останется как есть
- «Restore conversation» - используй редко: когда файлы уже в порядке (например, ты сам их поправил руками), а вот переписка увела разговор куда-то не туда, и хочется вернуться к более раннему сообщению, не трогая при этом сами файлы
Самая частая ошибка новичка на этом шаге - машинально выбрать первый пункт в списке, не читая остальные. Если не уверен, какой нужен - «Restore code and conversation» безопаснее всего: он не оставит рассинхрона между тем, что лежит в файлах, и тем, что Claude Code помнит о задаче
Когда ни один путь не помогает
Бывает ситуация хуже: файл не просто изменён, а удалён отдельной командой, и точки сохранения не было вообще ни в одной форме. Здесь Esc и /rewind бессильны по построению (встроенная история не видит команд, введённых мимо чата), а система сохранения версий и ручная копия не помогают, если их не завели заранее. Это отдельный, более узкий случай - куда именно смотреть в поисках случайно оставшейся копии данных, разбирает соседняя статья про конкретно эту ситуацию: что делать, если ИИ удалил базу данных: 3 места, где лежат копии
Если ты сейчас читаешь эту статью ДО того, как что-то сломалось, лучшая инвестиция времени - десять минут на то, чтобы включить сохранение версий заранее. Полный разбор трёх слоёв защиты (не только отката, а всей системы) - в отдельном гайде безопасность автономных ИИ-агентов: 4 риска 2026 года
Как понять, что сработавший откат вернул именно то, что нужно
После любого из четырёх путей проверка одна и та же: открой продукт и пройди то, что уже работало вчера, теми же кнопками и теми же действиями. Не «выглядит нормально», а конкретно - та же страница открывается, та же кнопка нажимается, тот же результат выходит
Если откат вернул рабочее состояние, но проблема всё равно осталась - значит поломка случилась раньше, чем та точка, к которой ты вернулся. Тогда откатывайся ещё на один шаг назад, если такая точка есть, и проверяй заново
Свои сохранения версий я делаю тем же способом, что описан выше - той же системой, без отдельных инструментов поверх неё
Куда идти дальше на этом же сайте
- Собрал продукт на ИИ - что дальше: дорабатывай, не ломая - откат там один шаг из четырёх правил всего процесса доработки, здесь - раскладка по всем путям отдельно
- Git worktree в Claude Code: 3 сессии сразу без конфликтов - если работаешь сразу над несколькими задачами в отдельных копиях проекта
- Агент говорит «готово»: 4 шага, чтобы доделать до конца - если сигналом к откату стало то, что агент отчитался «готово», а результата на самом деле нет
- Что делать, если ИИ удалил базу данных: 3 места, где лежат копии - более узкий случай, когда данные уже удалены командой и обычный откат не срабатывает
- Безопасность автономных ИИ-агентов: 4 риска 2026 года - как не попадать в ситуацию отката вообще, три слоя защиты заранее
- Claude Code с нуля: 7 уровней от первой команды до агентов - если Claude Code для тебя пока новый инструмент целиком
- Настройка Claude Code бесплатно: запуск с нуля и выбор модели по ОЗУ - если инструмент ещё не настроен
- Как пользоваться Claude Code: установка и 9 шагов до проекта - если Claude Code ещё не установлен
- Что делать после установки Claude Code: первые шаги - если инструмент уже стоит, но непонятно, куда двигаться дальше
- CLAUDE.md: памятка для ИИ, 4 прогона и замок на важное - как хранить постоянные правила проекта, которые видят все роли
- Claude гайд: рабочий цикл из 6 шагов для новичка - как помощник крутит задачу до конца, включая момент, когда сам считает её завершённой
- Бесплатные мозги для Claude Code: 10 опенсорс-скиллов с GitHub - чем агент вообще умеет пользоваться при правке твоего проекта
- Claude промпт инженер: 7 формул точного запроса без воды - как формулировать одну узкую задачу вместо трёх сразу
- Вайбкодинг: что это простыми словами и как начать с нуля в 2026 - с чего вообще начинается путь, если продукта ещё нет
- Мультиагентные системы простыми словами: 6 схем и 5 поломок - когда агентов в работе уже несколько
- Как проверить код от ИИ, если не умеешь читать код: 7 проверок - семь конкретных проверок готового продукта руками, без чтения кода
- Скиллы для Claude: что это, как установить и 7 готовых под контент - готовые сценарии с чётким результатом вместо расплывчатой просьбы
- Лучший ИИ для вайб-кодинга: 4 инструмента в 2026 году - сравнение инструментов, если Claude Code ещё не выбор
- Cursor или Claude Code в 2026 году: разница в 6 раз на тесте - если выбираешь между двумя конкретными инструментами
- Бесплатный ИИ-агент для VS Code: 3 пути без оплаты в 2026 - бесплатные варианты того же класса инструментов
- Как выбрать курс вайбкодинга: 5 этапов и 6 красных флагов - если решаешь пойти учиться этому системно
- ИИ-агенты: что это простыми словами и как собрать своего - с чего начинается разговор об автономных помощниках
- Claude Code: гайды по установке, работе и агентам - полный список моих статей про инструмент
Источники
Ниже страницы, которые я открывал сам при подготовке этой статьи 4 сентября 2026 года:
- Anthropic, документация Claude Code, раздел Checkpointing - что снимает автоматический снимок, меню действий /rewind, срок хранения 30 дней, ограничения по отдельным командам мимо чата и по параллельным помощникам - code.claude.com/docs/en/checkpointing, голый адрес https://code.claude.com/docs/en/checkpointing
- Git, официальная документация команды git-restore - флаги --staged/--worktree/--source, отличие от команды переключения версий целиком - git-scm.com/docs/git-restore
- Git, официальная документация команды git-revert - создание новой записи версии, отменяющей действие прежней, без стирания истории - git-scm.com/docs/git-revert
- Git, официальная документация команды git-reset - более резкий откат, отбрасывающий несохранённые изменения - git-scm.com/docs/git-reset
- Anthropic, документация Claude Code, общий раздел рекомендаций по работе - code.claude.com/docs/en/best-practices
Памятка: пять путей отката правки Claude Code
Пять строк, по которым проходит выбор
Сохрани себе
- Правку делал сам Claude Code в этой же сессии - Esc дважды или /rewind, самый быстрый вариант
- Правка ещё не сохранена отдельной версией - git restore
- Правка уже сохранена версией, а версия оказалась плохой - git revert, история не теряется
- Системы сохранения версий вообще нет - ручная копия папки с датой, сделанная ДО поломки
- Файл удалён отдельной командой мимо чата и точки сохранения не было - это уже не откат, а поиск копии в других местах
Порог входа
Первая точка сохранения бесплатна, следующая привычка тоже
Точку сохранения, узкую формулировку задачи и проверку сразу после - всё это можно начать применять на своём продукте уже сегодня, без единой новой установки
Три дня, бесплатно, доступ открывается сразу, ждать даты не нужно
Это заявка в мой закрытый канал, не оплата. Впускаю сразу, дальше бот в личке отдаёт путёвку на три дня
Частые вопросы
Что делать, если я не понимаю, включена ли у меня система сохранения версий?
Спроси Claude Code прямым текстом: «есть ли у этой папки отдельная система сохранения версий, и если нет - подключи её». Он ответит и, если нужно, подключит сам, тебе не нужно знать команды
Можно ли откатить только часть правки, а не всю целиком?
В меню Esc/rewind - нет, там выбирается вся точка целиком. Через систему сохранения версий можно вернуть только один конкретный файл, если правка тронула несколько - остальные останутся как есть
Что, если после отката появилась новая проблема?
Проверь глазами то, что работало до отката: если и оно перестало работать - откатись ещё на одну точку назад. Если проблема новая и раньше её не было - это уже не про откат, а про обычную новую правку, начинай с описания задачи заново
Почему нельзя просто попросить Claude Code «верни как было»?
Можно, и часто это сработает - но формулировка «как было» неточная, и ИИ придётся угадывать, к какому именно моменту. Точнее работает конкретика: «верни файл к состоянию перед последней правкой» или прямая просьба использовать /rewind
Сколько времени хранятся точки отката?
У встроенной истории Claude Code (путь 1) - около 30 дней вместе с сессией, срок настраиваемый. У системы сохранения версий (пути 2 и 3) - постоянно, пока существует сама папка проекта с её историей. У ручной копии (путь 4) - пока копия физически лежит на диске