Чтобы отменить только часть работы ИИ-агента, сначала найдите нужные изменения в Git, затем отмените их выборочно и проверьте итоговый diff. Такой подход сохраняет ваши правки и остальные изменения агента. В статье разберём, как подготовить проект к откату, какие команды использовать и что проверить перед продолжением работы. Инструкция пригодится, если агент затронул несколько файлов или его результат оказался частично полезным.
Как подготовить проект к безопасному откату?
Git хранит историю изменений проекта. Перед работой с агентом создайте отдельную ветку или зафиксируйте текущее состояние коммитом. Тогда у вас будет точка, к которой можно вернуться, если выборочный откат пойдёт не по плану.
Попросите агента сначала показать список изменённых файлов и кратко описать каждое изменение. Проверьте его ответ через терминал: команда git status покажет незакоммиченные файлы, а git diff — сами изменения. Не начинайте откат, пока не отличаете работу агента от своих правок.
Если проект уже содержит несохранённую работу, сохраните её отдельным коммитом или скопируйте изменённые файлы. Для понимания истории полезно вести CHANGELOG проекта: записи помогут сопоставить правки агента с задачами.
Как отменить изменения в одном файле или фрагменте?
Если агент изменил файл целиком, а вы хотите вернуть его к последнему коммиту, используйте команду git restore путь/к/файлу. Она отменит все незакоммиченные изменения в указанном файле. Сначала убедитесь, что там нет ваших правок: команда не различает автора изменений.
Когда нужно отменить только часть файла, запустите git restore -p путь/к/файлу. Git покажет изменения отдельными фрагментами. Для каждого фрагмента можно выбрать, оставить его или восстановить прежнюю версию. Читайте показанный текст внимательно: соседние изменения могут относиться к разным задачам.
Если нужное изменение уже попало в коммит, не переписывайте историю общего проекта без согласования. Для обычной ветки используйте git revert хеш-коммита: Git создаст новый коммит, который отменяет изменения выбранного коммита. Если коммит содержит и полезную, и лишнюю работу агента, проще отменить части вручную и сохранить результат новым коммитом.
Как проверить результат перед продолжением работы?
После отката снова выполните git diff и сравните итог с тем, что планировали сохранить. Проверьте, что нужные файлы остались на месте, а ваши незакоммиченные правки не исчезли. Затем запустите тесты проекта и проверьте связанные с изменённым кодом функции.
Если вы работаете через ИИ-агента, попросите его составить список изменений до отката и отдельно проверить diff после него. Но команды, которые меняют или удаляют файлы, лучше подтверждать по одной. Подробный разбор изменений пригодится и при проверке, безопасно ли подключать агента к рабочим сервисам.
В задаче по выборочному откату Claude Code Rewind описан локальный Git-based fallback. В материалах по этому случаю отдельно уточняется, что полный upstream Claude Code Rewind не установлен и не заявлен как рабочий. Поэтому не полагайтесь на название функции: проверяйте, какие именно средства отката доступны в вашей конфигурации.
Каких ошибок при откате лучше избежать?
- Запускать
git restore ., не проверив статус: команда отменяет незакоммиченные изменения во всей рабочей папке. - Откатывать файл целиком, если в нём есть ваши правки. Для отдельных фрагментов используйте интерактивный режим
git restore -p. - Считать, что агент точно знает, какие изменения принадлежат ему. Сверяйте diff с историей коммитов и описанием задачи.
- Менять историю общей ветки без согласования. Для опубликованных коммитов обычно безопаснее создать отменяющий коммит через
git revert. - Продолжать работу без тестов. После отката проверьте функции, на которые влиял удалённый код.
Начните с чистой точки в Git и просмотрите diff до любых отменяющих команд. Для одного файла подойдёт git restore, для отдельных фрагментов — git restore -p, а для уже зафиксированного коммита — git revert. После каждого шага проверяйте результат и сохраняйте понятную историю изменений.



