Спочатку зупиніть лавину
Після невдалої AI-правки не слід одразу просити Claude «виправити все». Спершу встановіть фактичний масштаб проблеми через Git: активну гілку, змінені файли, diff і останні коміти.
Мінімальний відкат безпечніший за повторне редагування поверх хаотичного diff. Маленькі milestone-коміти здешевлюють відновлення.
git status
git diff -- path/to/file
git diff
git log --oneline -3 Відновлення залежить від місця змін
| Стан | Підхід |
|---|---|
| Робочі файли | Переглянути diff і за потреби обережно використати git restore |
| Staging area | Спочатку git restore --staged, потім оцінити файл |
| Поганий коміт у shared history | Створити новий коміт через git revert |
| Поганий локальний коміт | Розглянути reset лише якщо історію ще не бачила команда |
| Заплутана гілка | Створити нову гілку від чистої бази |
Мінімальний Git-first recovery
- Припиніть нові AI-правки.
- Перевірте
git statusі перегляньте підозрілі фрагменти diff. - Відокремте потрібні зміни від зайвих.
- Оберіть найменший безпечний спосіб rollback.
- Запустіть релевантні тести.
- Повторно перевірте diff.
- Дайте Claude нове вузьке завдання з явними межами.
git restore path/to/file
git status
git diff Чиста база для повторної спроби
Стара гілка може залишитися джерелом окремих корисних ідей, але нову реалізацію краще почати з чистої бази, якщо попередній diff уже важко пояснити.
git switch -c refund-refactor-retry main Зовнішні ефекти не відкотяться разом із Git
- Git відновлює файли й історію, але не скасовує міграцію бази.
- Відкат коду не повертає зовнішній виклик або вже виконаний деплой.
- Для shared history безпечнішим за переписування зазвичай є
git revert. - Перед
git restoreпереконайтеся, що незбережені зміни справді зайві.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush