التوثيق

إعادة التأسيس التفاعلية

تحوّل إعادة التأسيس التفاعلية git rebase -i إلى تدفق بصري: اسحب لإعادة ترتيب طابور التنفيذات، وطبّقها واحدًا واحدًا، وحل التعارضات بصريًا — بلا سطر أوامر.

البدء

افتح لوح الفروع واكتب في صندوق Filter branches... لإيجاد الفرع الهدف، ثم زر أيمن عليه → Rebase Current Branch onto '{branch}' لتأسيس الفرع الحالي فوق الهدف. يتحول اللوح إلى عرض إعادة التأسيس الذي يمر بأربع مراحل:

البحث عن فرع في اللوح، ثم بدء إعادة التأسيس فوق الهدف

1. تحرير طابور التنفيذات

تشكل تنفيذات فرعك غير الموجودة لدى الهدف طابورًا:

  • اسحب لإعادة ترتيبها;
  • لكل تنفيذ قائمة إجراءات: pick (إبقاء) / squash (طي في السابق مع دمج الرسائل) / fixup (طي مع ترك الرسالة) / edit (توقف للتعديل) / drop (إسقاط);
  • تنطوي التنفيذات المسحوقة والمسقطة بصريًا.
طابور تنفيذات إعادة التأسيس — إعادة الترتيب بالسحب والإجراءات لكل تنفيذ

2. التطبيق

يعيد Start Rebase تشغيل الطابور فوق الهدف تنفيذًا تنفيذًا مع شريط تقدم حي؛ وبلا تعارضات يكمل مباشرة. ويتراجع Abort في أي وقت.

3. التعارضات (إن وُجدت)

يحوّل تعارض أثناء التطبيق إلى عرض التعارضات — قائمة ملفات ومحرر الدمج بأنماطه الأربعة (Merge / Split / Raw / AI)، حيث ينال كل مقطع متعارض قراره الخاص (Ours / Theirs / Both…؛ انظر حل التعارضات). ما إن يُحل كل ملف، يستأنف Continue إعادة التأسيس.

عرض التعارضات — قرارات الدمج لكل مقطع

4. الاكتمال

عند الاكتمال يؤكد اللوح Branch '{branch}' was rebased onto '{target}' ويعرض بطاقة الدفع — أعادت إعادة التأسيس كتابة التاريخ، فلا بد من تحديث الفرع البعيد قسرًا:

  • Force Push with Lease — موصى به: يكتب فوقه فقط حين لم يدفع أحد سواك، ولا يستخدم أبدًا --force ساذجًا;
  • Not now — تخطَّ الدفع؛ إعادة التأسيس المحلية مكتملة سلفًا.
صفحة الاكتمال — Force Push with Lease أو تخطي الدفع

تبقى الجلسة قابلة للاستخدام أثناء إعادة التأسيس؛ وإغلاق اللوح لا يقطع واحدة جارية.