03-skills/refactor: SKILL.md + templates/refactoring-plan.md 04-subagents: 8 agent definitions 08-checkpoints: checkpoint-examples.md 09-advanced: planning-mode-examples.md Remaining: refactor references (1692 lines), P4 root docs Ref: luongnv89/claude-howto#63
Контрольні точки та відкат
Контрольні точки дозволяють зберігати стан розмови та повертатися до попередніх моментів у сесії Claude Code. Це незамінно для дослідження різних підходів, відновлення після помилок або порівняння альтернативних рішень.
Огляд
Контрольні точки — це знімки стану вашої розмови, що включають:
- Усі повідомлення розмови
- Модифікації файлів
- Історію використання інструментів
- Контекст сесії
Контрольні точки незамінні при дослідженні різних підходів, відновленні після помилок або порівнянні альтернативних рішень.
Ключові поняття
| Поняття | Опис |
|---|---|
| Контрольна точка (Checkpoint) | Знімок стану розмови, включаючи повідомлення, файли та контекст |
| Відкат (Rewind) | Повернення до попередньої контрольної точки з відкиданням подальших змін |
| Точка розгалуження (Branch Point) | Контрольна точка, з якої досліджуються кілька підходів |
Доступ до контрольних точок
Ви можете отримати доступ та управляти контрольними точками двома способами:
Клавіатурне скорочення
Натисніть Esc двічі (Esc + Esc), щоб відкрити інтерфейс контрольних точок та переглянути збережені точки.
Слеш-команда
Використовуйте команду /rewind (аліас: /checkpoint) для швидкого доступу:
# Відкрити інтерфейс відкату
/rewind
# Або використайте аліас
/checkpoint
Варіанти відкату
При відкаті вам пропонується меню з п'яти варіантів:
- Відновити код і розмову — Повернути і файли, і повідомлення до цієї контрольної точки
- Відновити розмову — Відкотити лише повідомлення, залишити поточний код як є
- Відновити код — Повернути зміни файлів, зберегти повну історію розмови
- Підсумувати звідси — Стиснути розмову від цієї точки вперед в AI-згенерований підсумок, звільняючи контекстне вікно. Повідомлення до обраної точки залишаються недоторканими. Жодні файли на диску не змінюються. Оригінальні повідомлення зберігаються в транскрипті сесії. Можна додатково вказати інструкції для фокусування підсумку на конкретних темах.
- Скасувати — Скасувати та повернутися до поточного стану
Примітка: Після відновлення розмови або підсумовування оригінальний промпт з обраного повідомлення відновлюється в полі вводу, щоб ви могли повторно надіслати або відредагувати його.
Автоматичні контрольні точки
Claude Code автоматично створює контрольні точки:
- Кожен промпт користувача — Нова контрольна точка створюється з кожним введенням
- Постійні — Контрольні точки зберігаються між сесіями
- Автоочищення — Контрольні точки автоматично очищуються через 30 днів
Це означає, що ви завжди можете повернутися до будь-якого попереднього моменту розмови — від кількох хвилин тому до днів.
Сценарії використання
| Сценарій | Процес |
|---|---|
| Дослідження підходів | Зберегти → Спробувати A → Зберегти → Відкат → Спробувати B → Порівняти |
| Безпечний рефакторинг | Зберегти → Рефакторити → Тест → Якщо не вдалось: Відкат |
| A/B тестування | Зберегти → Дизайн A → Зберегти → Відкат → Дизайн B → Порівняти |
| Відновлення після помилки | Помітити проблему → Відкат до останнього робочого стану |
Використання контрольних точок
Перегляд та відкат
Натисніть Esc двічі або використайте /rewind, щоб відкрити браузер контрольних точок. Ви побачите список усіх доступних точок з мітками часу. Оберіть будь-яку для відкату.
Деталі контрольної точки
Кожна контрольна точка показує:
- Мітку часу створення
- Модифіковані файли
- Кількість повідомлень у розмові
- Використані інструменти
Практичні приклади
Приклад 1: Дослідження різних підходів
User: Let's add a caching layer to the API
Claude: I'll add Redis caching to your API endpoints...
[Makes changes at checkpoint A]
User: Actually, let's try in-memory caching instead
Claude: I'll rewind to explore a different approach...
[User presses Esc+Esc and rewinds to checkpoint A]
[Implements in-memory caching at checkpoint B]
User: Now I can compare both approaches
Приклад 2: Відновлення після помилки
User: Refactor the authentication module to use JWT
Claude: I'll refactor the authentication module...
[Makes extensive changes]
User: Wait, that broke the OAuth integration. Let's go back.
Claude: I'll help you rewind to before the refactoring...
[User presses Esc+Esc and selects the checkpoint before the refactor]
User: Let's try a more conservative approach this time
Приклад 3: Безпечне експериментування
User: Let's try rewriting this in a functional style
[Creates checkpoint before experiment]
Claude: [Makes experimental changes]
User: The tests are failing. Let's rewind.
[User presses Esc+Esc and rewinds to the checkpoint]
Claude: I've rewound the changes. Let's try a different approach.
Приклад 4: Розгалуження підходів
User: I want to compare two database designs
[Takes note of checkpoint - call it "Start"]
Claude: I'll create the first design...
[Implements Schema A]
User: Now let me go back and try the second approach
[User presses Esc+Esc and rewinds to "Start"]
Claude: Now I'll implement Schema B...
[Implements Schema B]
User: Great! Now I have both schemas to choose from
Збереження контрольних точок
Claude Code автоматично управляє контрольними точками:
- Контрольні точки створюються автоматично з кожним промптом
- Старі контрольні точки зберігаються до 30 днів
- Автоматичне очищення запобігає необмеженому зростанню сховища
Патерни процесів
Стратегія розгалуження для дослідження
При дослідженні кількох підходів:
1. Початкова реалізація → Контрольна точка A
2. Спроба Підходу 1 → Контрольна точка B
3. Відкат до Контрольної точки A
4. Спроба Підходу 2 → Контрольна точка C
5. Порівняння результатів B та C
6. Вибір найкращого підходу та продовження
Патерн безпечного рефакторингу
При значних змінах:
1. Поточний стан → Контрольна точка (авто)
2. Початок рефакторингу
3. Запуск тестів
4. Якщо тести пройшли → Продовжити роботу
5. Якщо тести не пройшли → Відкат та спроба іншого підходу
Найкращі практики
Оскільки контрольні точки створюються автоматично, ви можете зосередитися на роботі, не турбуючись про ручне збереження стану. Але пам'ятайте:
Ефективне використання контрольних точок
✅ Робіть:
- Переглядайте доступні контрольні точки перед відкатом
- Використовуйте відкат для дослідження різних напрямків
- Зберігайте контрольні точки для порівняння підходів
- Розумійте, що робить кожен варіант відкату
❌ Не робіть:
- Не покладайтесь лише на контрольні точки для збереження коду
- Не очікуйте, що контрольні точки відстежують зовнішні зміни файлової системи
- Не використовуйте контрольні точки замість git-комітів
Конфігурація
Контрольні точки — вбудована поведінка Claude Code за замовчуванням, не потребує конфігурації. Кожен промпт автоматично створює контрольну точку.
Єдине налаштування — cleanupPeriodDays, що контролює тривалість зберігання:
{
"cleanupPeriodDays": 30
}
cleanupPeriodDays: Кількість днів зберігання історії сесій та контрольних точок (за замовчуванням:30)
Обмеження
Контрольні точки мають такі обмеження:
- Bash-команди НЕ відстежуються — Операції
rm,mv,cpу файловій системі не фіксуються - Зовнішні зміни НЕ відстежуються — Зміни, зроблені поза Claude Code (у редакторі, терміналі тощо), не фіксуються
- Не заміна системі контролю версій — Використовуйте git для постійних, аудитованих змін
Усунення неполадок
Відсутні контрольні точки
Проблема: Очікувана контрольна точка не знайдена
Рішення:
- Перевірте, чи контрольні точки не були очищені
- Перевірте дисковий простір
- Переконайтесь, що
cleanupPeriodDaysвстановлено достатньо високо (за замовчуванням: 30 днів)
Невдалий відкат
Проблема: Не вдається відкотити до контрольної точки
Рішення:
- Переконайтесь, що немає конфліктуючих незакомічених змін
- Перевірте, чи контрольна точка не пошкоджена
- Спробуйте відкат до іншої контрольної точки
Інтеграція з Git
Контрольні точки доповнюють (але не замінюють) git:
| Характеристика | Git | Контрольні точки |
|---|---|---|
| Область | Файлова система | Розмова + файли |
| Постійність | Постійна | На рівні сесії |
| Деталізація | Коміти | Будь-яка точка |
| Швидкість | Повільніше | Миттєво |
| Спільний доступ | Так | Обмежено |
Використовуйте обидва разом:
- Контрольні точки для швидкого експериментування
- Git-коміти для фіналізованих змін
- Створення контрольної точки перед git-операціями
- Коміт успішних станів до git
Швидкий старт
Базовий процес
- Працюйте як зазвичай — Claude Code створює контрольні точки автоматично
- Хочете повернутись? — Натисніть
Escдвічі або/rewind - Оберіть контрольну точку — Виберіть зі списку
- Оберіть що відновити — Код і розмову, лише розмову, лише код, підсумувати або скасувати
- Продовжуйте роботу — Ви повернулись до тієї точки
Клавіатурні скорочення
Esc+Esc— Відкрити браузер контрольних точок/rewind— Альтернативний спосіб доступу/checkpoint— Аліас для/rewind
Коли відкочуватися: Моніторинг контексту
Контрольні точки дозволяють повернутись — але як зрозуміти, коли це потрібно? З ростом розмови контекстне вікно Claude заповнюється, і якість моделі непомітно знижується. Ви можете відправляти код, згенерований напівсліпою моделлю, навіть не усвідомлюючи цього.
cc-context-stats вирішує це, додаючи зони контексту в реальному часі до рядка стану Claude Code. Інструмент відстежує, де ви знаходитесь у контекстному вікні — від Plan (зелений, безпечно планувати та кодити) через Code (жовтий, уникайте нових планів) до Dump (оранжевий, завершуйте та відкочуйте). Коли бачите зміну зони — час створити контрольну точку та почати заново.
Пов'язані концепції
- Розширені функції — Режим планування та інші просунуті можливості
- Управління пам'яттю — Управління історією розмови та контекстом
- Слеш-команди — Ярлики користувача
- Хуки — Автоматизація на основі подій
- Плагіни — Пакетні розширення
Додаткові ресурси
- Офіційна документація контрольних точок
- Посібник з розширених функцій — Розширене мислення та інші можливості
Підсумок
Контрольні точки — автоматична функція Claude Code, що дозволяє безпечно досліджувати різні підходи без страху втратити роботу. Кожен промпт автоматично створює нову контрольну точку, тож ви можете відкотитися до будь-якого попереднього моменту сесії.
Ключові переваги:
- Безстрашне експериментування з кількома підходами
- Швидке відновлення після помилок
- Порівняння різних рішень пліч-о-пліч
- Безпечна інтеграція з системами контролю версій
Пам'ятайте: контрольні точки не замінюють git. Використовуйте контрольні точки для швидкого експериментування, а git — для постійних змін коду.
Останнє оновлення: 9 квітня 2026 Версія Claude Code: 2.1.97 Сумісні моделі: Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5