محتويات الدورة

Git وGitHub / المتوسط: إدارة التغيير التعاوني / الدرس 10

إعادة الأساس والالتقاط والتاريخ الخاص

أعد تطبيق التغييرات بقصد مع حفظ نقاط التعافي واحترام من يعتمد على الإيداعات القائمة.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • اشرح إنتاج الإعادة هويات جديدة.
  • اختر إعادة الخاص أو نقل إصلاح محدد بتحقق صريح.

أعد التغيير على أب مختلف

تختار إعادة الأساس إيداعات وتعيد تغييراتها على أساس فتتغير الهوية غالباً بالآباء والبيانات ولو تشابه المحتوى. ليست نقل كائنات بلا تغيير. يطبق cherry-pick تغييرات مختارة على الجاري وينشئ إيداعات عادة. قد يتعارضان أو يختلف السلوك بالسياق. افهم النطاق والوجهة والمشاركة واحفظ مرجعاً للأصل الخاص للمقارنة والتعافي.

أعد أساس موضوع خاص مفهوم فقط

يفترض المختبر موضوعاً خاصاً نظيفاً وmain متقدماً بلا تعارض. يحفظ فرع أمان الرأس قبل الإعادة. يصبح main سلفاً ويبقى الأصل بمرجع الأمان. لا تغير التجربة المشروع أو فرعاً منشوراً. يحتاج المشترك تنسيقاً وسياسة ولا يمثل force-with-lease إذناً للكتابة على الزملاء. افحص النتيجة والاختبار قبل نشر لا تنفذه الدورة.

bash إعادة موضوع خاص بمختبر ومرجع تعاف
git switch feature/title
git branch safety/title-before-rebase
git -c user.name="Lab Author" -c user.email="lab@example.invalid" rebase main
git merge-base --is-ancestor main feature/title

يخرج فحص النسب بـ 0 بلا نص بعد النجاح وقد تتغير المعرّفات فلا نتنبأ بها. يتطلب الرسم المحلي النظيف وتحتاج التعارضات مسار إعادة الأساس.

قارن السلسلة لا الشجرة النهائية فقط

قد تسقط الإعادة أو تكرر أو تغير سلوكاً أثناء الحل. قارن سلسلتي الرقع بـ range-diff المناسب وافحص الرسم واختبر. يساعد مرجع الأمان للنطاق الأصلي. يفيد فرق الأطراف وقد يضم تغير الأساس المستقل فلا يجيب دائماً. تعيد التفاعلية ترتيب الخاص أو تجمعه أو تعدله أو تسقطه؛ احفظ تماسك كل إيداع إذا تطلب المشروع تاريخاً قابلاً للتنصيف.

انقل إصلاحاً مركزاً مع منشئه

قد تحتاج الصيانة إصلاحاً واحداً لا تاريخ الميزة. ينقله الالتقاط ولا يجلب افتراضاته تلقائياً. افحص المصدر والمتطلبات والتوافق. يسجل -x المصدر بالرسالة وفق سلوكه فيفيد التتبع. لا تكشف مراجع أو رسائل خاصة عبر حدود وصول. يختار المثال إصلاح مختبر مسمى لا بصمة مختلقة ويبقى التحقق مؤقتاً.

bash تطبيق إصلاح مختبر غير دمجي للصيانة
git switch lab-maintenance
git -c user.name="Lab Author" -c user.email="lab@example.invalid" cherry-pick -x lab-fix
git log -1 --format=%B

يجب أن يشير lab-fix للإيداع العادي الواحد وتكون الوجهة نظيفة. تضم الرسالة معرّف المصدر وفق شروط -x ويملك الناتج هويته بتاريخ الوجهة.

افصل إعادة الكتابة عن تصحيح المشترك

استخدم إعادة الأساس للخاص حيث تسمح السياسة. بعد اعتماد الآخرين قد تفرض عليهم التوفيق بين عمل مكرر أو مفقود ظاهرياً. يحفظ الدمج أو التصحيح الجديد المراجع عادة. افحص الحالة واستخدم continue أو skip أو abort للعملية بفهم؛ ليس التخطي إسكاتاً بريئاً فقد يحذف التغيير. احفظ النقاط حتى المراجعة والاختبار ولا تدفع قسراً لإكمال درس.

الأخطاء الشائعة وإصلاحها

تغير إعادة الأساس المعرّفات

لماذا يحدث؟
غيرت الإعادة الآباء أو البيانات.
كيف تصلحه؟
قارن السلسلة وتحقق من السلوك.
كيف تتجنب تكراره؟
احفظ الأصل أثناء كتابة الخاص.

يترجم النقل ويفقد متطلباً

لماذا يحدث؟
يعتمد الإصلاح سياقاً أسبق.
كيف تصلحه؟
افحص الاعتماد وعدل أو أضف اللازم.
كيف تتجنب تكراره؟
اختبر سياق الصيانة صراحة.

يسقط تخطي التعارض سلوكاً بصمت

لماذا يحدث؟
اعتُبر التخطي حلاً آلياً.
كيف تصلحه؟
راجع المحذوف وأعد المطلوب بقصد.
كيف تتجنب تكراره؟
اشرح خيار المتابعة قبل استخدامه.

اختبر فهمك

1. لماذا تختلف هويات المعاد مع تشابه الرقع؟

اعرض الحل المشروح

يحوي الإيداع آباء وبيانات لا رقعة فقط. ينتج الأساس الجديد كائناً جديداً. تحقق بالسلسلة والاختبار لا بقاء المعرّف.

2. بنى زميل على موضوعك. ما الذي يسبق كتابته؟

اعرض الحل المشروح

نسق واتبع السياسة وفكر بدمج أو تصحيح. احفظ القديم واشرح المتفق والتعافي. قدرة الأمر المحلية لا تعني تفويض تعاون.

أهم ما تعلمته

  • تنتج الإعادة تاريخاً جديداً يحتاج مقارنة.
  • يحتاج النقل مراجعة الاعتماد والوجهة.
  • تحتاج تغييرات المشترك تنسيقاً صريحاً.

المراجع الرسمية