brainax

الفروع وطلبات الدمج

الدرس 9 من 26 في دورة «البرمجة بالإحساس». مجاني، مع رسوم متحركة واختبار.

main: الموقع الحي

الفرع (branch) خط مستقل من الـ commits داخل المشروع. الفرع الرئيسي يسمى عادة main. إذا كانت الاستضافة مربوطة بالمستودع، فما في main هو الموقع الذي يراه الناس الآن. الخط السفلي في الرسم هو main. ومن هنا القاعدة: لا تجارب في main. إذا كسرت main تعطل الموقع عند الجميع حتى تصلحه.

الفرع نسخة للتجارب

مثال: تحتاج زر «اطلب مسبقًا» في موقع المقهى الذي تعمل فيه بدوام جزئي. تنشئ فرعًا، أي نسخة موازية من المشروع. في الرسم يتجه إلى الأعلى واسمه «زر-جديد». يمكنك أن تعمل فيه commits بقدر ما تريد، وهنا اثنان. في هذه الأثناء لا يتغير الموقع الحي. لم تنجح الفكرة؟ اترك الفرع ببساطة، ولن يلاحظ main شيئًا.

طلب الدمج: فحص قبل الدمج

طلب الدمج (Pull Request، اختصارًا PR) هو طلب «ادمج فرعي في main». صفحة الـ PR تعرض ثلاثة أشياء. الـ diff: أي الأسطر أضيفت وأيها حُذفت. التعليقات: يمكنك مناقشة التعديلات مع صديق أو مع الذكاء الاصطناعي. الفحوص التلقائية: برامج تشغّل الكود وحدها وتضع علامة صح إذا نجح كل شيء. في الرسم يعود الفرع إلى main عبر هذا الصندوق تحديدًا.

المعاينة والدمج

كثير من خدمات الاستضافة تبني معاينة للفرع: نسخة منفصلة من الموقع برابط خاص. هذه هي شارة «رابط المعاينة» في الرسم. تفتحه من هاتفك، تضغط الزر الجديد، وتتأكد أن لا شيء تعطّل. الموقع الحي يبقى كما هو. كل شيء تمام؟ تضغط merge (أي «دمج»): تنتقل تغييرات الفرع إلى main، وتحدّث الاستضافة الموقع الحي تلقائيًا.

كيف تعمل هكذا مع وكيل

الطريقة نفسها، لكن الذكاء الاصطناعي هو من يكتب الكود. تعطي الوكيل مهمة وتضيف: «نفّذها في فرع منفصل وافتح PR». ينشئ الفرع ويعمل commits ويفتح الـ PR. أنت تفتح المعاينة وتتحقق وتقول ما يجب تعديله. عندما يعمل كل شيء تعمل الـ merge بنفسك. هكذا يبقى خطأ الذكاء الاصطناعي في الفرع، لا في الموقع الحي.

اختبر نفسك

  1. لماذا تبني ميزة جديدة في فرع منفصل؟
    الإجابة الصحيحة: لتجرّب دون أن تكسر الموقع الحي في main. الفرع نسخة موازية. يمكنك أن تخطئ فيه كما تشاء، ويبقى main بالموقع الحي كما هو حتى الـ merge.
  2. ما هو طلب الدمج (Pull Request)؟
    الإجابة الصحيحة: طلب لدمج فرع في main مع diff وفحوص. الـ PR صفحة تعرض ما تغيّر مع التعليقات والفحوص التلقائية. أما تنزيل الكود من GitHub فهو pull، وهذا شيء آخر.
  3. فتح الوكيل PR. ماذا تفعل قبل الدمج؟
    الإجابة الصحيحة: أفتح المعاينة وأتحقق أن كل شيء يعمل. الذكاء الاصطناعي يخطئ أيضًا، لذا الفحص الأخير عليك. المعاينة تعرض النسخة الجديدة قبل أن تصل إلى الموقع الحي.

← GitHub: كودك في السحابة الطرفية في 10 دقائق →