نقاط التحقّق والتراجع
- افهم ما الذي تلتقطه نقطة التحقّق — وما الذي لا تلتقطه بصمت
- افتح قائمة التراجع بطريقتين واختر إجراء الاستعادة الصحيح في كل مرة
- ميّز بين «الاستعادة» (التراجع عن الحالة) و«التلخيص» (ضغط السياق)
- اعرف بالضبط لماذا تكمّل نقاط التحقّق Git ولا تحلّ محلّه أبدًا
الفكرة الكبرى
عندما تطلق Claude على تغيير طموح واسع النطاق، يكون السؤال الأكثر رعبًا: «ماذا لو سارت الأمور بشكل خاطئ بعد ثلاثة تعديلات؟» نقاط التحقّق هي الجواب: يلتقط Claude Code لقطة لشِفرتك تلقائيًا قبل كل دورة تبدؤها، فتستطيع الرجوع إلى أي حالة سابقة بدلًا من فكّ إعادة هيكلة غير مكتملة يدويًا.
فكّر فيها على أنها تراجع محلي عن الجلسة بأكملها — شبكة أمان تتيح لك أن تقول «نعم، جرّب النهج الجريء» دون خوف.
كيف تُنشأ نقاط التحقّق
أنت لا تنشئ نقاط التحقّق — إنها تحدث تلقائيًا.
- كل مطالبة تبدأ دورًا تلتقط حالة شِفرتك قبل تشغيل أدوات تعديل الملفات في Claude. لا أمر، ولا إعداد، ولا إجراءات شكلية.
- يحتفظ Claude Code بلقطات الملفات لآخر 100 نقطة تحقّق في الجلسة. تُهمَل الأقدم، ولذلك لا يمكن إرجاع جلسة طويلة جدًا حتى بدايتها.
- تُحفظ نقاط التحقّق مع المحادثة، فيمكنك تشغيل /rewind حتى بعد استئناف الجلسة، وليس في الجلسة الحية فقط.
- تُحذف لقطات ملفات الجلسة في عملية مسح الاحتفاظ، افتراضيًا بعد نحو 30 يومًا من آخر مرة حفظت فيها الجلسة لقطة. يفشل التراجع إلى نقطة تحقّق اختفت لقطاتها مع الرسالة 'No files were restored' — ارفع cleanupPeriodDays لإبقائها مدة أطول.
فتح قائمة التراجع
هناك طريقتان للدخول:
- اكتب أمر الشرطة المائلة في مربع المطالبة. يعمل دائمًا. الأمران /checkpoint و/undo اسمان بديلان للأمر نفسه، فاستخدم أيّ اسم يخطر ببالك.
- يفتح الضغط المزدوج على Esc قائمة التراجع عندما يكون مربع المطالبة فارغًا. أما إذا كان فيه نص، فيمسح الضغط المزدوج على Esc ذلك النص بدلًا من ذلك (يُحفظ النص الممسوح في سجل الإدخال، فاضغط السهم لأعلى لاستعادته لاحقًا).
افتح قائمة التراجع
/rewind
- الأسماء البديلة ألطف من معناها الحرفي: الأمر /checkpoint لا يلتقط لقطة عند الطلب (اللقطات تلقائية)، والأمر /undo لا يتراجع وحده عن آخر تعديل. الأسماء الثلاثة كلها تفتح القائمة نفسها، وفيها تختار بنفسك النقطة والإجراء.
تسرد القائمة كل مطالبة أرسلتها في هذه الجلسة. اختر النقطة التي تريد العمل عليها، ثم اختر إجراءً واحدًا.
الاستعادة مقابل التلخيص: الفرق الجوهري
هنا يحدث الالتباس. تقدّم القائمة نوعين من الإجراءات:
- إجراءات الاستعادة تغيّر الحالة على القرص و/أو في المحادثة — إنها تتراجع.
- إجراءات التلخيص لا تمسّ ملفاتك أبدًا — إنها تضغط المحادثة لتحرير مساحة في نافذة السياق.
- الاستعادة = تراجع (ترجع الشِفرة أو المحادثة أو كليهما). التلخيص = ضغط السياق (الملفات على القرص لا تُمسّ).
- استخدم الاستعادة عندما يُفسد تعديلٌ شيئًا. واستخدم التلخيص عندما تتضخم الجلسة وتكون الشِفرة سليمة.
إجراءات الاستعادة
- ترجع ملفاتك وسجل الدردشة معًا إلى النقطة المحددة — «عودة نظيفة في الزمن» إلى تلك اللحظة.
- ترجع الدردشة إلى تلك الرسالة مع الإبقاء على شِفرتك الحالية. مفيد لإعادة طرح سؤال دون فقدان التعديلات التي تريد الاحتفاظ بها.
- تتراجع عن تغييرات الملفات مع الإبقاء على المحادثة. تراجَع عن التعديلات واحتفظ بالنقاش حولها.
لا يظهر خيارا استعادة الشِفرة إلا عندما تحتوي نقطة التحقّق المحددة فعلًا على تغييرات ملفات متتبَّعة يمكن التراجع عنها. فإذا لم تُلتقط أي تعديلات على الملفات بعد تلك النقطة، فلن تعرض القائمة سوى استعادة المحادثة وخياري التلخيص وNever mind (الذي يعيدك إلى قائمة الرسائل دون تغيير أي شيء).
بعد استعادة المحادثة (أو اختيار «التلخيص من هنا»)، تُعاد المطالبة الأصلية من الرسالة المحددة إلى حقل الإدخال لتتمكن من إعادة إرسالها أو تعديلها.
إجراءات التلخيص
كلاهما يضغط جزءًا من المحادثة في ملخص يولّده الذكاء الاصطناعي — مثل /compact موجَّه تختار فيه أي جانب من الرسالة المحددة تريد عصره.
- تبقى الرسائل التي تسبق الرسالة المحددة سليمة. أما الرسالة المحددة وكل ما بعدها فيتحوّل إلى ملخص. استخدمه لتجاهل نقاش جانبي مع الإبقاء على السياق المبكر بكامل تفاصيله.
- تتحوّل الرسائل التي تسبق الرسالة المحددة إلى ملخص؛ وتبقى الرسالة المحددة وكل ما بعدها سليمة. تبقى في نهاية المحادثة. استخدمه لضغط حديث التهيئة المبكر مع الإبقاء على العمل الأخير بنصّه الحرفي.
في الحالتين تبقى الرسائل الأصلية في سجل الجلسة، فيستطيع Claude الرجوع إلى التفاصيل، ويظهر وسم Summarized conversation في المكان الذي كانت فيه الرسائل المضغوطة. لتوجيه ما يركّز عليه الملخص، حدّد خيار تلخيص بالأسهم واكتب التعليمات في الصف الذي يحمل عبارة add context (optional)، ثم اضغط Enter — أما اختيار الخيار بمفتاحه الرقمي فيلخّص فورًا دون أي تعليمات.
للاطلاع على التدفق كاملًا، راجع إدارة السياق — إجراءات التلخيص في /rewind مشرط، بينما /compact فرشاة عريضة.
- التلخيص يُبقيك في الجلسة نفسها. للتفرّع وتجربة نهج مختلف مع ترك الجلسة الأصلية سليمة، استخدم /branch أو claude --continue --fork-session بدلًا من ذلك.
التراجع إلى ما قبل /clear
إذا شغّلت /clear سابقًا في عملية Claude Code نفسها، تعرض قائمة التراجع مُدخلًا إضافيًا في الأعلى: /resume <session-id> (previous session). اخترْه للعودة إلى المحادثة التي كانت نشطة قبل /clear.
أين تتوقف نقاط التحقّق — الحدود التي تؤلم
تبدو نقاط التحقّق سحرية حتى تتوقف عن ذلك. هذه الثغرات مهمة:
- التتبّع يتم لكل ملف على حدة، ولا يدخل الملف فيه إلا حين يعدّله Claude بأدوات تحرير الملفات الخاصة به. وبعد ذلك يتراجع /rewind أيضًا عمّا تفعله أوامر Bash بالملف نفسه لاحقًا — فالمُنسِّق أو المولِّد الذي يعيد كتابة ملف سبق تعديله يمكن إرجاعه. أما الملف الذي لم يلمسه سوى Bash فلا يُتتبَّع ويبقى كما هو، لذا فالملف المحذوف بـ rm والذي لم يعدّله Claude قط يحتاج إلى Git. وتنعكس هذه القاعدة في القائمة: تحت كل مطالبة تُحصي التغييرات في الملفات التي سبق أن عدّلها Claude، أيًّا كان سببها.
- يعدّل الوكيل الفرعي (subagent) بأدوات الملفات نفسها، لكن جلستك لا تلتقط تلك التعديلات عادةً. الاستثناء هو المهارة المتفرّعة في المقدّمة (context: fork مع background: false)، فهي تعدّل أثناء دورتك أنت وتُرجَع بصورة عادية. ومع أي وكيل فرعي آخر — بما في ذلك المهارة المتفرّعة في الخلفية، وهي الافتراضي، وتشغيل /code-review --fix في الخلفية — لا يستعيد التراجع إلا الملفات التي سبق أن عدّلها Claude في محادثتك؛ أما تعديلات الوكيل الفرعي على الملفات الأخرى فتبقى، فتراجع عنها باستخدام Git. انظر /docs/claude-code/subagents.
- التعديلات اليدوية التي تجريها خارج Claude Code، والتعديلات من جلسات متزامنة أخرى، لا تُلتقط عادةً — إلا إذا مسّت بالصدفة الملفات نفسها التي عدّلتها الجلسة الحالية.
- الرسالة التي تضعها في الطابور أثناء عمل Claude وتصل إليه ضمن الدور الجاري تنضمّ إلى ذلك الدور بدلًا من بدء دور جديد، فلا تحصل على نقطة تحقّق خاصة بها — وتضع عليها قائمة التراجع علامة «No code restore». للتراجع عمّا تلاها، ارجع إلى المطالبة التي بدأت الدور، وهذا يُرجع الدور بأكمله، بما في ذلك العمل المنجز قبل وصول رسالتك. أما تحديد الرسالة المعلَّمة نفسها فيظل يتيح «استعادة المحادثة»، وتبقى ملفاتك كما هي.
- يحفظ Claude Code المحادثة المُعاد لفّها مع الرسالة التالية التي ترسلها — لذا إذا خرجت قبل إرسال رسالة، تعود الرسائل المُعاد لفّها عند استئناف الجلسة. أرسل رسالة إلى Claude قبل الخروج كي تثبت الاستعادة؛ ولإزالة الرسائل العائدة مجددًا لاحقًا، شغّل /rewind ثم اختر الرسالة نفسها واختر Restore conversation. تبقى الملفات التي استعدتها كما تركها الـ rewind في الحالتين، فالمتأثر هو المحادثة فقط.
- تتخطّى الاستعادة أي مسار متتبَّع هو رابط رمزي أو رابط صلب، وتحذّر برسالة 'Restored the code, but skipped N files'؛ وتحتفظ هذه الملفات بمحتواها الحالي. تقع الروابط الرمزية لمديري dotfiles والروابط الصلبة في pnpm في هذه الحالة. شغّل /debug قبل الاستعادة لتُذكر المسارات المتخطّاة بأسمائها في سجل التصحيح.
- نقاط التحقّق وسيلة تعافٍ محلية سريعة. وهي ليست إيداعات (commits)، ولا فروعًا، ولا يمكن مشاركتها مع فريقك.
نقاط التحقّق مقابل Git: استخدم الاثنين
يحلّان مشكلتين مختلفتين، فاجمع بينهما.
نقاط التحقّق (/rewind) | Git | |
|---|---|---|
| النطاق | جلسة واحدة | تاريخ المشروع كاملًا |
| الدقة | لكل مطالبة تبدأ دورًا، تلقائيًا | لكل إيداع، عن قصد |
| هل يتتبع التغييرات التي أجراها bash؟ | فقط للملفات التي عدّلها Claude سابقًا | نعم (بعد التجهيز/الإيداع) |
| مدة البقاء | آخر 100 نقطة تحقّق، وتُمسح بعد نحو 30 يومًا من الجلسة | دائم |
| قابل للمشاركة / التعاون | لا | نعم |
| النموذج الذهني | «تراجع محلي» | «تاريخ دائم» |
- أودِع الحالات العاملة في Git قبل أي تشغيل محفوف بالمخاطر وواسع النطاق — فهذا أساسك الثابت.
- استخدم /rewind للتعافي السريع داخل الجلسة بين الإيداعات دون تلويث سجل Git.
- اعتمد على Git للملفات التي لا يعدّلها Claude مباشرةً — أي التي لا يلمسها إلا bash مُدمِّر (rm/mv) أو وكيل فرعي في الخلفية. لا يغطي التراجع ملفًا إلا بعد أن يعدّله Claude بأدوات الملفات الخاصة به.
متى تلجأ إليه
- جرّب تنفيذًا جريئًا، وإن لم يعجبك فاستعد الشِفرة والمحادثة إلى نقطة التفرّع وجرّب طريقًا آخر.
- تعديل أدخل خطأً قبل ثلاث مطالبات؟ استعد الشِفرة إلى ما قبله مباشرة بدلًا من تصحيح الحطام.
- جرّب تنويعات مختلفة وأنت تعلم أن حالة سليمة معروفة تبعد عنك أمر /rewind واحدًا فقط.
- هل التهم منعطف تصحيح مطوّل نافذة السياق؟ لخّص من نقطة المنتصف فصاعدًا وأبقِ تعليماتك الأصلية بكامل تفاصيلها.
اختبر نفسك
0/3- نقاط التحقّق لقطات تلقائية تُؤخذ قبل كل مطالبة تبدأ دورًا — تراجع محلي عن الجلسة. تُحفظ آخر 100، ثم تُمسح بعد نحو 30 يومًا من الجلسة.
- افتح قائمة التراجع بـ /rewind (الاسمان البديلان: /checkpoint و/undo) أو بالضغط المزدوج على Esc عند إدخال فارغ؛ وهي تسرد كل مطالبة أرسلتها.
- إجراءات الاستعادة تتراجع عن الحالة (الشِفرة أو المحادثة أو كليهما)؛ وإجراءات التلخيص تضغط السياق ولا تمسّ الملفات أبدًا.
- التتبّع يتم لكل ملف ويبدأ حين يعدّله Claude بأدوات الملفات — وبعد ذلك تُرجَع حتى تغييرات Bash على ذلك الملف. أما الملفات التي لم يعدّلها Claude قط (bash فقط، خارجية، متزامنة، ومعظم تعديلات الوكلاء الفرعيين) فلا تُتتبَّع، وتُتخطّى المسارات ذات الروابط الرمزية أو الصلبة عند restore.
- نقاط التحقّق تكمّل Git ولا تحلّ محلّه: فكّر في «تراجع محلي» مقابل «تاريخ دائم قابل للمشاركة».
التالي
- إدارة السياق —
/compactو/clear، وأين يندرج التلخيص في الصورة الأكبر - وضع التخطيط — تحقّق من الخطة ووافق عليها قبل تنفيذ التعديلات، فتحتاج إلى التراجع بوتيرة أقل
- الأذونات — النصف الآخر من تشغيل المهام الطموحة بأمان