Skip to main content
BlogAI

Checkpointing Claude Code: Mundurkan Perubahan Berisiko

Cara checkpointing Claude Code menyimpan snapshot proyek sebelum tiap suntingan, cara rewind dengan Escape ganda, dan batasnya sehingga Anda tetap mengandalkan git.

Matthews Wong

Software Engineer

Agustus 20268 menit baca
Checkpointing Claude Code: Mundurkan Perubahan Berisiko

Ringkasan Utama

Checkpointing Claude Code otomatis menyimpan snapshot proyek Anda sebelum tiap suntingan, sehingga Anda bisa mundur ke keadaan sebelumnya ketika sebuah perubahan salah. Tekan Escape dua kali atau jalankan perintah rewind, lalu pilih memulihkan kode, percakapan, atau keduanya. Ini adalah undo instan untuk kesalahan agen, bukan pengganti commit git.

Membiarkan agen menyunting kode Anda dengan cepat terasa mengasyikkan sampai ia me-refactor modul yang salah, menghapus fungsi yang berjalan, atau membawa rencana ke arah yang tak pernah Anda inginkan. Membatalkannya secara manual lambat dan rawan salah, dan pintasan undo di editor Anda hanya menjangkau satu berkas yang kebetulan sedang terbuka.

Checkpointing Claude Code hadir persis untuk momen ini. Ia merekam keadaan proyek Anda sebelum tiap perubahan yang dibuat agen, sehingga Anda bisa melompat kembali ke titik yang diketahui baik dalam satu langkah. Panduan ini menjelaskan bagaimana checkpoint dibuat, cara rewind, dan di mana fitur ini berhenti agar Anda tidak bergantung padanya untuk hal yang seharusnya dilakukan git.

Bagaimana checkpoint dibuat

Sebuah checkpoint adalah snapshot otomatis yang diambil Claude Code sebelum ia menerapkan suntingan. Anda tidak perlu memintanya; sesi merekamnya sambil bekerja, membangun linimasa keadaan yang bisa Anda tuju kembali. Setiap checkpoint menangkap baik berkas dalam keadaan saat itu maupun titik dalam percakapan yang menghasilkannya.

Pemasangan kode dan percakapan itulah yang membuat rewind berguna, bukan sekadar tumpukan undo biasa:

  • Snapshot kode memungkinkan Anda membuang suntingan yang dibuat agen tanpa menyentuh berkas lain yang Anda ubah sendiri.
  • Penanda percakapan memungkinkan Anda kembali ke prompt tepat sebelum hal-hal berjalan salah dan mengarahkannya berbeda dari sana.
  • Karena snapshot diambil per perubahan, sesi yang panjang meninggalkan jejak titik pemulihan alih-alih satu undo yang bersifat semua-atau-tidak-sama-sekali.

Cara me-rewind sebuah perubahan

Ada dua cara masuk ke menu rewind. Tekan tombol Escape dua kali secara cepat, atau ketik perintah rewind. Keduanya membuka daftar checkpoint terbaru, dan memilih salah satunya menampilkan pratinjau apa yang akan terjadi jika kembali ke sana sebelum Anda memastikannya.

Saat Anda rewind, Claude Code menanyakan apa yang ingin Anda pulihkan. Anda bisa mengembalikan hanya kode, hanya percakapan, atau keduanya sekaligus, yang memungkinkan Anda menyimpan diskusi yang berguna sambil membuang suntingan yang dihasilkannya, atau sebaliknya.

Rewind adalah jaring pengaman yang membuat prompt berani jadi terjangkau. Karena suntingan buruk hanya sejauh satu ketukan tombol dari dibatalkan, Anda bisa membiarkan agen mencoba perubahan ambisius, mengamati hasilnya, dan me-rewind seketika jika meleset, alih-alih terlalu merinci setiap pengaman di awal.

Kapan menggunakan rewind

Rewind bersinar setiap kali jalur termurah ke depan adalah meninggalkan potongan kerja terakhir alih-alih memperbaikinya. Beberapa situasi yang berulang cocok dengan bentuk itu.

  • Agen salah membaca tugas dan menyunting berkas yang salah, sehingga Anda ingin kode kembali tetapi diskusi tetap ada.
  • Sebuah refactor melebar melintasi beberapa giliran dan perbaikan paling sederhana adalah kembali ke titik terakhir saat ia masih berjalan.
  • Anda ingin mencoba pendekatan kedua untuk prompt yang sama tanpa suntingan dari percobaan pertama mengotori hasilnya.
  • Sebuah eksperimen tidak membuahkan apa pun dan Anda lebih memilih mereset dengan bersih daripada membatalkan selusin perubahan yang tersebar secara manual.

Di mana checkpointing berhenti

Checkpointing melacak perubahan yang dibuat Claude Code melalui tool penyuntingnya sendiri. Ia bukan sistem kontrol versi serbaguna, dan ia tidak melihat semua yang terjadi di working tree Anda. Perlakukan ia sebagai undo cepat yang terbatas pada sesi, bukan sebagai sumber kebenaran Anda.

Perbedaan itu paling penting di sekitar perubahan yang tidak ditangkap fitur ini. Berkas yang ditulis ulang oleh perintah shell yang dijalankan agen, suntingan yang Anda buat manual di editor lain, dan apa pun di luar workspace yang dilacak bisa berada di luar sebuah checkpoint, sehingga rewind mungkin tidak memulihkannya seperti yang Anda harapkan.

Checkpointing bukan pengganti git. Checkpoint terikat pada sesi Anda dan bisa kedaluwarsa atau hilang saat sesi berakhir, serta tidak mencakup suntingan manual atau berkas yang diubah oleh perintah bash. Teruslah melakukan commit ke git untuk apa pun yang benar-benar ingin Anda simpan.

Pasang rewind ke alur kerja yang lebih aman

Rewind paling kuat ketika ia berdampingan dengan kebiasaan yang sudah menjaga kerja agen tetap terkendali, bukan ketika ia menggantikannya.

  • Lakukan commit ke git pada tiap keadaan yang benar-benar baik, sehingga Anda punya checkpoint tahan lama yang bertahan melampaui sesi dan lintas mesin.
  • Gunakan plan mode untuk menyepakati pendekatan sebelum suntingan dimulai, sehingga Anda lebih jarang rewind karena lebih sedikit perubahan yang melenceng.
  • Ketika Anda rewind, nyatakan ulang apa yang salah di prompt berikutnya, karena agen tidak bisa belajar dari giliran yang baru saja Anda hapus dari percakapan.

Checkpointing menurunkan biaya membiarkan agen mencoba berbagai hal, karena setiap perubahan yang dibuatnya hanya sejauh satu ketukan tombol dari dibatalkan. Pelajari rewind Escape ganda, putuskan dengan sengaja apakah akan memulihkan kode, percakapan, atau keduanya, dan teruslah commit ke git untuk keadaan yang penting. Digunakan bersama, keduanya membuat Anda bergerak cepat tanpa takut kehilangan kerja.

FAQ

Pertanyaan Umum

Jawaban singkat untuk pertanyaan yang paling sering diajukan pembaca tentang topik ini.

Apa itu checkpointing Claude Code?

Checkpointing adalah fitur Claude Code yang otomatis menyimpan snapshot proyek Anda sebelum tiap perubahan yang dibuat agen. Setiap checkpoint menangkap baik berkas dalam keadaan saat itu maupun titik dalam percakapan yang menghasilkannya, sehingga Anda bisa kembali ke keadaan yang diketahui baik nanti. Ia memberi Anda undo instan yang terbatas pada sesi untuk suntingan agen tanpa penyiapan manual.

Bagaimana cara me-rewind perubahan di Claude Code?

Buka menu rewind dengan menekan tombol Escape dua kali secara cepat, atau dengan mengetik perintah rewind. Anda akan melihat daftar checkpoint terbaru, dan memilih salah satunya menampilkan pratinjau apa yang akan terjadi jika kembali ke sana. Claude Code lalu menanyakan apakah memulihkan hanya kode, hanya percakapan, atau keduanya sekaligus.

Apakah checkpointing Claude Code pengganti git?

Tidak. Checkpoint terikat pada sesi Anda dan bisa kedaluwarsa atau hilang saat sesi berakhir, serta tidak mencakup suntingan manual atau berkas yang diubah oleh perintah bash. Perlakukan checkpointing sebagai undo cepat sementara untuk kesalahan agen dan teruslah commit ke git untuk keadaan apa pun yang benar-benar ingin Anda pertahankan.

Bisakah saya memulihkan hanya percakapan dan bukan kode?

Bisa. Saat Anda rewind, Claude Code membiarkan Anda memilih mengembalikan hanya kode, hanya percakapan, atau keduanya. Memulihkan percakapan tanpa kode membuat Anda bisa menyimpan suntingan yang Anda sukai sambil mundur ke titik lebih awal dalam diskusi, dan sebaliknya membuat Anda bisa membuang suntingan sambil menjaga apa yang telah didiskusikan.

Apakah checkpointing melacak perubahan yang dibuat perintah shell?

Tidak dengan andal. Checkpointing melacak suntingan yang dibuat Claude Code melalui tool penyuntingnya sendiri, sehingga berkas yang ditulis ulang oleh perintah shell yang dijalankannya, suntingan yang Anda buat manual di editor lain, dan apa pun di luar workspace yang dilacak bisa berada di luar sebuah checkpoint. Rewind mungkin tidak memulihkan perubahan itu, itulah mengapa git tetap menjadi sumber kebenaran Anda.