■ space · مشغل الآلات · fig 1
ثلاثة أسئلة — مُرسَّل أم لا، احتفاظ أم إسقاط، مشترك أم فردي — أمر دقيق واحد في الخرج، بلا حساب، كل شيء في المتصفح.
مُرسَّل وآخرون يسحبون الفرع؟ الـrevert هو التراجع المهذَّب الوحيد.
أُرسّل ثم ضاع؟ إنقاذ reflog — اللمحات المهدورة تبقى قابلة للوصول نحو ~90 يومًا.
01المفرِّز، يشتغل
ثماني عشرة حالة تصطف في القمع — مفاتيح 1 · 2 · 3 تُطلق العويلمات، والطبّل يفرِّز التذكرة
إلى أين مُرسَّل · وُجِّه REVERT · الحكم التراجع المهذَّب الوحيد · تصفيرات مرفوض
الحالة «مُرسَّل إلى فرع مشترك» — لا تمنح إلا أمرًا واحدًا: revert، لأن البدائل تحرق الفرق.
18 حالة على اللوحة — ثلاثة أسئلة، 3 × 3 × 2 — ومعظمها ينهار إلى حفنة أوامر نفسها.
بوابة REFUSED مثبتة مسامير عبر مجارى التصفير الثلاثة — بنية دائمة لا عويلمة: اللمحات المُرسَّلة لا تدخل
02جدول القرار
مخ المفرِّز كله، مطبوع — الآلة تشغّل هذا البحث خليةً خلية، بلا حساب، ولا شيء يُرفع
| الأمر | التاريخ | شجرة العمل | فرع مشترك؟ |
|---|---|---|---|
git reset --soft HEAD~1 | يرجع خطوة واحدة | التعديلات محفوظة، مؤشَّرة | لا — إعادة كتابة |
git reset HEAD~1 | يرجع خطوة واحدة | التعديلات محفوظة، غير مؤشَّرة | لا — إعادة كتابة |
git reset --hard HEAD~1 | يرجع خطوة واحدة | التعديلات مُهذور | لا — هدمي |
git revert HEAD | يضيف لمحة تراجع | لم يُلمَس | نعم — الحركة الآمنة |
git reflog + git switch -c recovery <sha> | لم يضَع شيء | مُستدعًى من reflog | إنقاذ بعد أي شيء |
سؤال الفرع المشترك هو الأداة كلها. الباقي تسهيلات؛ هذه الواحدة ضبطُ ضرر.
03الأوامر التي يطبعها
أربعة أوامر تغطي الفوضى كلها تقريبًا — انسخ الكتلة، وتعليقات التحذير ضمن الصفقة
# committed, not pushed, keep the changes staged
git reset --soft HEAD~1
# committed, not pushed, keep the changes unstaged
git reset HEAD~1
# pushed, others pull this branch — the only polite undo
git revert --no-edit HEAD~1..HEAD
git push
# committed and lost — reflog knows for ~90 days
git reflog
git switch -c recovery <sha-from-the-list>
تحقّق: git reset --soft HEAD~1 → تعديلات محفوظة، مؤشَّرة · git reflog + git switch -c recovery <sha> → لم يضَع شيء، مستدعًى من reflog
HEAD~1..HEAD يعمل revert لللمحات المسمَّاة بالضبط — يستحق المعرفة حتى لو طبعته الأداة عنك04ما الذي ترفضه الآلة
الرفض هو الميزة — حيث يأبى السجل أن يخمّن، يطبع المفرِّز الجدار
مصدر: github.com/mrsaynothing/git-undo — HTML وJavaScript سادهتان، بلا خطوة بناء، بلا اعتماديات. شوكِّه، أعِد تلوينه، اقتصم صياغتي.
إن وفّر عليك جلسة reflog واحدة هذه السنة، فقد سدّد العصرَ الذي شراه.
نهاية المولّد · لم يُجلب شيء · كل شيء محلي