Claude How To # Контрольні точки та відкат Контрольні точки дозволяють зберігати стан розмови та повертатися до попередніх моментів у сесії Claude Code. Це незамінно для дослідження різних підходів, відновлення після помилок або порівняння альтернативних рішень. ## Огляд Контрольні точки — це знімки стану вашої розмови, що включають: - Усі повідомлення розмови - Модифікації файлів - Історію використання інструментів - Контекст сесії Контрольні точки незамінні при дослідженні різних підходів, відновленні після помилок або порівнянні альтернативних рішень. ## Ключові поняття | Поняття | Опис | |---------|------| | **Контрольна точка (Checkpoint)** | Знімок стану розмови, включаючи повідомлення, файли та контекст | | **Відкат (Rewind)** | Повернення до попередньої контрольної точки з відкиданням подальших змін | | **Точка розгалуження (Branch Point)** | Контрольна точка, з якої досліджуються кілька підходів | ## Доступ до контрольних точок Ви можете отримати доступ та управляти контрольними точками двома способами: ### Клавіатурне скорочення Натисніть `Esc` двічі (`Esc` + `Esc`), щоб відкрити інтерфейс контрольних точок та переглянути збережені точки. ### Слеш-команда Використовуйте команду `/rewind` (аліас: `/checkpoint`) для швидкого доступу: ```bash # Відкрити інтерфейс відкату /rewind # Або використайте аліас /checkpoint ``` ## Варіанти відкату При відкаті вам пропонується меню з п'яти варіантів: 1. **Відновити код і розмову** — Повернути і файли, і повідомлення до цієї контрольної точки 2. **Відновити розмову** — Відкотити лише повідомлення, залишити поточний код як є 3. **Відновити код** — Повернути зміни файлів, зберегти повну історію розмови 4. **Підсумувати звідси** — Стиснути розмову від цієї точки вперед в AI-згенерований підсумок, звільняючи контекстне вікно. Повідомлення до обраної точки залишаються недоторканими. Жодні файли на диску не змінюються. Оригінальні повідомлення зберігаються в транскрипті сесії. Можна додатково вказати інструкції для фокусування підсумку на конкретних темах. 5. **Скасувати** — Скасувати та повернутися до поточного стану > **Примітка**: Після відновлення розмови або підсумовування оригінальний промпт з обраного повідомлення відновлюється в полі вводу, щоб ви могли повторно надіслати або відредагувати його. ## Автоматичні контрольні точки 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`, що контролює тривалість зберігання: ```json { "cleanupPeriodDays": 30 } ``` - `cleanupPeriodDays`: Кількість днів зберігання історії сесій та контрольних точок (за замовчуванням: `30`) ## Обмеження Контрольні точки мають такі обмеження: - **Bash-команди НЕ відстежуються** — Операції `rm`, `mv`, `cp` у файловій системі не фіксуються - **Зовнішні зміни НЕ відстежуються** — Зміни, зроблені поза Claude Code (у редакторі, терміналі тощо), не фіксуються - **Не заміна системі контролю версій** — Використовуйте git для постійних, аудитованих змін ## Усунення неполадок ### Відсутні контрольні точки **Проблема**: Очікувана контрольна точка не знайдена **Рішення**: - Перевірте, чи контрольні точки не були очищені - Перевірте дисковий простір - Переконайтесь, що `cleanupPeriodDays` встановлено достатньо високо (за замовчуванням: 30 днів) ### Невдалий відкат **Проблема**: Не вдається відкотити до контрольної точки **Рішення**: - Переконайтесь, що немає конфліктуючих незакомічених змін - Перевірте, чи контрольна точка не пошкоджена - Спробуйте відкат до іншої контрольної точки ## Інтеграція з Git Контрольні точки доповнюють (але не замінюють) git: | Характеристика | Git | Контрольні точки | |----------------|-----|-----------------| | Область | Файлова система | Розмова + файли | | Постійність | Постійна | На рівні сесії | | Деталізація | Коміти | Будь-яка точка | | Швидкість | Повільніше | Миттєво | | Спільний доступ | Так | Обмежено | Використовуйте обидва разом: 1. Контрольні точки для швидкого експериментування 2. Git-коміти для фіналізованих змін 3. Створення контрольної точки перед git-операціями 4. Коміт успішних станів до git ## Швидкий старт ### Базовий процес 1. **Працюйте як зазвичай** — Claude Code створює контрольні точки автоматично 2. **Хочете повернутись?** — Натисніть `Esc` двічі або `/rewind` 3. **Оберіть контрольну точку** — Виберіть зі списку 4. **Оберіть що відновити** — Код і розмову, лише розмову, лише код, підсумувати або скасувати 5. **Продовжуйте роботу** — Ви повернулись до тієї точки ### Клавіатурні скорочення - **`Esc` + `Esc`** — Відкрити браузер контрольних точок - **`/rewind`** — Альтернативний спосіб доступу - **`/checkpoint`** — Аліас для `/rewind` ## Коли відкочуватися: Моніторинг контексту Контрольні точки дозволяють повернутись — але як зрозуміти, *коли* це потрібно? З ростом розмови контекстне вікно Claude заповнюється, і якість моделі непомітно знижується. Ви можете відправляти код, згенерований напівсліпою моделлю, навіть не усвідомлюючи цього. **[cc-context-stats](https://github.com/luongnv89/cc-context-stats)** вирішує це, додаючи **зони контексту** в реальному часі до рядка стану Claude Code. Інструмент відстежує, де ви знаходитесь у контекстному вікні — від **Plan** (зелений, безпечно планувати та кодити) через **Code** (жовтий, уникайте нових планів) до **Dump** (оранжевий, завершуйте та відкочуйте). Коли бачите зміну зони — час створити контрольну точку та почати заново. ## Пов'язані концепції - **[Розширені функції](../09-advanced-features/)** — Режим планування та інші просунуті можливості - **[Управління пам'яттю](../02-memory/)** — Управління історією розмови та контекстом - **[Слеш-команди](../01-slash-commands/)** — Ярлики користувача - **[Хуки](../06-hooks/)** — Автоматизація на основі подій - **[Плагіни](../07-plugins/)** — Пакетні розширення ## Додаткові ресурси - [Офіційна документація контрольних точок](https://code.claude.com/docs/en/checkpointing) - [Посібник з розширених функцій](../09-advanced-features/) — Розширене мислення та інші можливості ## Підсумок Контрольні точки — автоматична функція Claude Code, що дозволяє безпечно досліджувати різні підходи без страху втратити роботу. Кожен промпт автоматично створює нову контрольну точку, тож ви можете відкотитися до будь-якого попереднього моменту сесії. Ключові переваги: - Безстрашне експериментування з кількома підходами - Швидке відновлення після помилок - Порівняння різних рішень пліч-о-пліч - Безпечна інтеграція з системами контролю версій Пам'ятайте: контрольні точки не замінюють git. Використовуйте контрольні точки для швидкого експериментування, а git — для постійних змін коду. --- **Останнє оновлення**: 9 квітня 2026 **Версія Claude Code**: 2.1.97 **Сумісні моделі**: Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5