رفتن به محتوا

Checkpointها

Track, rewind, and summarize Claude’s edits and conversation to manage session state.

Claude Code همان‌طور که کار می‌کنی، ویرایش‌های فایلی‌ای را که Claude انجام می‌دهد به‌صورت خودکار دنبال می‌کند؛ این یعنی می‌توانی به‌سرعت تغییرها را برگردانی و اگر چیزی از مسیر خارج شد، به وضعیت‌های قبلی برگردی.

Checkpointها چطور کار می‌کنند

Section titled “Checkpointها چطور کار می‌کنند”

همان‌طور که با Claude کار می‌کنی، checkpointing به‌صورت خودکار وضعیتِ کدت را پیش از هر ویرایش ثبت می‌کند. این تورِ ایمنی به تو اجازه می‌دهد کارهای جاه‌طلبانه و وسیع را با خیال راحت دنبال کنی، چون می‌دانی همیشه می‌توانی به وضعیتِ قبلیِ کد برگردی.

Claude Code همه‌ی تغییراتی را که ابزارهای ویرایشِ فایلش ایجاد می‌کنند دنبال می‌کند:

  • هر پرامپتِ کاربر یک checkpoint تازه می‌سازد
  • Checkpointها در طولِ نشست‌ها پایدار می‌مانند، پس در گفتگوهای ازسرگرفته‌شده هم به آن‌ها دسترسی داری
  • همراهِ نشست‌ها بعد از ۳۰ روز به‌صورت خودکار پاک می‌شوند (قابل تنظیم)

برگرداندن و خلاصه‌کردن

Section titled “برگرداندن و خلاصه‌کردن”

برای بازکردنِ منوی rewind، دستورِ /rewind را اجرا کن، یا وقتی ورودیِ پرامپت خالی است دوبار Esc را بزن.

منوی rewind هر پرامپتی را که در طولِ نشست فرستاده‌ای فهرست می‌کند. نقطه‌ای را که می‌خواهی روی آن عمل کنی انتخاب کن، سپس یک اقدام را برگزین:

  • Restore code and conversation: هم کد و هم گفتگو را به آن نقطه برمی‌گرداند
  • Restore conversation: به آن پیام برمی‌گردد اما کدِ فعلی را حفظ می‌کند
  • Restore code: تغییرهای فایل را برمی‌گرداند اما گفتگو را حفظ می‌کند
  • Summarize from here: گفتگو را از این نقطه به بعد در یک خلاصه فشرده می‌کند و فضای پنجره‌ی کانتکست را آزاد می‌کند
  • Summarize up to here: گفتگو را پیش از این نقطه در یک خلاصه فشرده می‌کند و پیام‌های بعدی را دست‌نخورده نگه می‌دارد
  • Never mind: بدون هیچ تغییری به فهرستِ پیام‌ها برمی‌گردد

بعد از برگرداندنِ گفتگو یا انتخابِ Summarize from here، پرامپتِ اصلیِ پیامِ انتخاب‌شده به فیلدِ ورودی بازگردانده می‌شود تا بتوانی دوباره بفرستی یا ویرایشش کنی.

با انتخابِ Summarize up to here در انتهای گفتگو می‌مانی و ورودی خالی است.

گزینه‌های restore وضعیت را برمی‌گردانند: تغییرهای کد، تاریخچه‌ی گفتگو یا هر دو را واگرد می‌کنند. گزینه‌های summarize بخشی از گفتگو را در یک خلاصه‌ی تولیدشده با هوش مصنوعی فشرده می‌کنند، بدون آنکه فایل‌های روی دیسک را تغییر دهند:

  • Summarize from here: پیام‌های پیش از پیامِ انتخاب‌شده دست‌نخورده می‌مانند. خودِ پیامِ انتخاب‌شده و هرچه بعد از آن است با یک خلاصه جایگزین می‌شوند. از این گزینه استفاده کن تا یک بحثِ جانبی را کنار بگذاری در حالی که کانتکستِ اولیه را با جزئیاتِ کامل نگه می‌داری.
  • Summarize up to here: پیام‌های پیش از پیامِ انتخاب‌شده با یک خلاصه جایگزین می‌شوند. خودِ پیامِ انتخاب‌شده و هرچه بعد از آن است دست‌نخورده می‌مانند و تو در انتهای گفتگو باقی می‌مانی. از این گزینه استفاده کن تا بحثِ راه‌اندازیِ اولیه را فشرده کنی در حالی که کارِ اخیر را با جزئیاتِ کامل نگه می‌داری.

در هر دو حالت پیام‌های اصلی در رونوشتِ نشست حفظ می‌شوند، پس اگر لازم شد Claude می‌تواند به جزئیات‌شان ارجاع دهد. می‌توانی دستورالعمل‌های اختیاری تایپ کنی تا هدایت کنی خلاصه روی چه چیزی تمرکز کند. این کار شبیه /compact است، اما هدفمند: به‌جای خلاصه‌کردنِ کلِ گفتگو، تو انتخاب می‌کنی کدام سمتِ پیامِ انتخاب‌شده فشرده شود.

Checkpointها به‌ویژه در این موقعیت‌ها مفیدند:

  • کاوشِ گزینه‌های جایگزین: رویکردهای پیاده‌سازیِ مختلف را بدون از‌دست‌دادنِ نقطه‌ی شروع امتحان کن
  • بازیابی از اشتباه‌ها: تغییرهایی را که باگ ایجاد کرده‌اند یا قابلیتی را شکسته‌اند به‌سرعت واگرد کن
  • تکرار روی قابلیت‌ها: با گونه‌های مختلف آزمایش کن و بدان که می‌توانی به وضعیت‌های سالم برگردی
  • آزادکردنِ فضای کانتکست: یک نشستِ پرگوی عیب‌یابی را از وسط به بعد خلاصه کن و دستورالعمل‌های اولیه‌ات را دست‌نخورده نگه دار

تغییرهای ناشی از دستورهای bash دنبال نمی‌شوند

Section titled “تغییرهای ناشی از دستورهای bash دنبال نمی‌شوند”

Checkpointing فایل‌هایی را که با دستورهای bash تغییر داده شده‌اند دنبال نمی‌کند. مثلاً اگر Claude Code این‌ها را اجرا کند:

Terminal window
rm file.txt
mv old.txt new.txt
cp source.txt dest.txt

این تغییرهای فایل را نمی‌توان از طریقِ rewind واگرد کرد. فقط ویرایش‌های مستقیمِ فایل که از طریقِ ابزارهای ویرایشِ فایلِ Claude انجام می‌شوند دنبال می‌شوند.

تغییرهای بیرونی دنبال نمی‌شوند

Section titled “تغییرهای بیرونی دنبال نمی‌شوند”

Checkpointing فقط فایل‌هایی را که در نشستِ فعلی ویرایش شده‌اند دنبال می‌کند. تغییرهای دستی‌ای که تو بیرون از Claude Code روی فایل‌ها انجام می‌دهی و ویرایش‌های نشست‌های هم‌زمانِ دیگر معمولاً ثبت نمی‌شوند، مگر آنکه اتفاقاً همان فایل‌هایی را تغییر دهند که نشستِ فعلی تغییر می‌دهد.

جایگزینِ کنترلِ نسخه نیست

Section titled “جایگزینِ کنترلِ نسخه نیست”

Checkpointها برای بازیابیِ سریع و در سطحِ نشست طراحی شده‌اند. برای تاریخچه‌ی نسخه‌ی دائمی و همکاری:

  • از کنترلِ نسخه (مثلاً Git) برای کامیت‌ها، شاخه‌ها و تاریخچه‌ی بلندمدت همچنان استفاده کن
  • Checkpointها مکملِ کنترلِ نسخه‌ی درست‌اند، نه جایگزینِ آن
  • به Checkpointها مثلِ «واگردِ محلی» و به Git مثلِ «تاریخچه‌ی دائمی» فکر کن
  • Interactive mode - میان‌برهای صفحه‌کلید و کنترل‌های نشست
  • Commands - دسترسی به checkpointها با /rewind
  • CLI reference - گزینه‌های خطِ فرمان