freeCodeCamp/docs/i18n/Arabic/how-to-open-a-pull-request.md

9.1 KiB

كيفية فتح طلب سحب (PR)

يتيح لك طلب سحب إرسال تغييرات من الشوك الخاص بك على GitHub إلى المستودع الرئيسي لـ freeCodeCamp.org. بمجرد الانتهاء من إجراء تغييرات على التعليمة البرمجية، أو تحديات البرمجة، يجب عليك اتباع هذه المبادئ التوجيهية لإرسال PR.

إعداد عنوان جيد لـ PR

نوصي باستخدام عنوان ورسائل تقليدية للإلتزامات وسحب الطلب. وتتخذ الاتفاقية الشكل التالي:

<type>([النطاق/النطاقات الاختيارية]): <description>

وعلى سبيل المثال:

إصلاح (تعلم): اختبارات الدو...بينما تحدي الحلقة

عند فتح طلب سحب (PR)، يمكنك استخدام أدناه لتحديد النوع والنطاق (اختياري) والوصف.

النوع:

نوع متى يتم تحديد
إصلاح تغيير أو تحديث/تحسين وظائف واختبارات ودروس وما إلى ذلك.
الأجرام فقط إذا كنت تضيف وظائف جديدة، اختبارات، إلخ.
عصى التغييرات التي لا تتصل بالكود أو الاختبارات أو الدرس الواحد.
المستندات تغييرات على دليل /docs أو المبادئ التوجيهية المساهمة، إلخ.

النطاق:

يمكنك تحديد نطاق من قائمة التسميات.

وصف:

ابقائها قصيرة (أقل من 30 حرفاً) وبسيطة، يمكنك إضافة المزيد من المعلومات في مربع وصف العلاقات العامة والتعليقات.

وفيما يلي بعض الأمثلة على عناوين حقوق الملكية الفكرية الجيدة:

  • إصلاح (أ11y): تحسين تباين شريط البحث
  • الميزة: إضافة المزيد من الاختبارات إلى تحديات html و css
  • إصلاح (api,العميل): منع أخطاء CORS عند تقديم النموذج
  • docs(i18n): الترجمة الصينية للإعداد المحلي

اقتراح طلب سحب

  1. بمجرد أن يتم الالتزام بالتعديلات، سيتم مطالبتك بإنشاء طلب سحب على صفحة GitHub الخاصة بك.

    الصورة - مقارنة طلب السحب على GitHub

  2. بشكل افتراضي، يجب أن تكون جميع طلبات السحب ضد مخزن FreCodeCamp الرئيسي، رئيسي فرع.

    تأكد من أن القاعدة الخاصة بك تم تعيينها على رمز كامب/FreCodeCamp عند رفع طلب سحب.

    الصورة - مقارنة الشوكات عند تقديم طلب سحب

  3. قم بتقديم طلب السحب من فرعك إلى فرع الكود كامب الرئيسي

  4. في متن حسابك الشخصي يتضمن ملخصاً أكثر تفصيلاً للتغييرات التي قمت بها ولماذا.

    • سيتم تقديمك مع قالب طلب الجذب. هذه قائمة مرجعية كان يجب عليك متابعتها قبل فتح طلب السحب.

    • قم بتعبئة التفاصيل كما تراها مناسبة. وسيتم استعراض هذه المعلومات وسيقرر المراجعون ما إذا كان طلب السحب الخاص بك قد قُبل أم لا.

    • إذا كان الغرض من اللعبة هو معالجة مشكلة GitHub موجودة عندئذ، في نهاية جسم وصف PR، استخدم الكلمة المفتاحية يغلق مع رقم المشكلة أغلق هذه المشكلة تلقائيًا إذا تم قبول ودمج الـ PR.

      على سبيل المثال: إغلاق #123 سيغلق المشكلة 123

  5. حدد ما إذا كنت قد اختبرت على نسخة محلية من الموقع أم لا.

    هذا مهم جداً عند إجراء تغييرات لا تقتصر على تعديل محتوى النص مثل التوثيق أو وصف التحدي. وتشمل أمثلة التغييرات التي تحتاج إلى اختبار محلي جافا سكريبت أو CSS أو HTML التي يمكن أن تغير وظيفة أو تخطيط الصفحة.

تعليقات على طلبات السحب

تهانينا! 🎉 حول إجراء كلمة مرور وشكرا جزيلا على تخصيص الوقت للإسهام.

سوف يلقي المشرفون الآن نظرة ويتركون لك ردود الفعل. يرجى التحلي بالصبر مع زملائهم المشرفين واحترام وقتهم. ويتم استعراض جميع طلبات السحب في الوقت المناسب.

إذا كنت بحاجة إلى أي مساعدة يرجى المناقشة في غرفة الدردشة المساهمين، نحن سعداء للغاية لمساعدتك.

[!تلميح] إذا كنت ترغب في المساهمة بمزيد من طلبات السحب، ننصحك بقراءة إجراء التغييرات ومزامنة المبادئ التوجيهية لتجنب الاضطرار إلى حذف الشوك.

تضارب حول طلب السحب

يمكن أن تنشأ تناقضات لأن العديد من المساهمين يعملون على المستودع، والتغييرات يمكن أن تحطم حسابك الشخصي الذي هو في انتظار المراجعة والدمج.

وفي كثير من الأحيان قد لا تحتاج إلى قاعدة جديدة، لأننا نهدم جميع الالتزامات، ولكن إذا كان طلب إعادة قاعدة هنا هو ما ينبغي أن تفعله.

لإصلاح الأخطاء والميزات المعتادة

عندما تعمل على الأخطاء والميزات العادية في فرع التطوير الرئيسي، يمكنك القيام بإعادة قاعدة بسيطة:

  1. استند إلى نسختك المحلية:

    git دفع <pr-branch>
    git سحب --rebase الرئيسي في أعلى المجرى
    
  2. حل أي تعارضات وإضافة / تحرير الالتزامات

    # إما
    git يضيف.
    git الالتزام -m "chore: حل التعارضات"
    
    # أو
    git إضافة.
    git الالتزام --تعديل --عدم تحرير
    
  3. قم بالعودة إلى التغييرات الخاصة بك في بطاقة PR

    git push --أصل القوة <pr-branch>
    

للمناهج الدراسية والمميزات القادمة

عندما تعمل على الميزات الخاصة بفروع المناهج الدراسية التالية* ، لديك اختيار الكرز:

  1. تأكد من أن أعلى البث يأتي في تزامن مع اللغة المحلية الخاصة بك:

    git الخروج الرئيسي
    git يجلب --كل --prune
    git الخروج التالي لمشاريع python-
    git إعادة تعيين --مشاريع Python التالية - Python
    
  2. أخذ نسخة احتياطية

    (أ) (أ) إما حذف الفرع المحلي الخاص بك بعد أخذ نسخة احتياطية (إذا كنت لا تزال لديك محلياً):

    git الخروج <pr-branch-name>
    
    # مثال:
    # git Checout feat/add-numpy-video-question
    
    git Checout -b <backup-branch-name>
    
    # مثال:
    # git Checout -b backup-feat/add-numpy-video-question
    
    git branch -D <pr-branch-name>
    

    (ب) (ب) أو مجرد نسخة احتياطية لفرع pr الخاص بك (إذا لم يكن لديك محلياً):

    git الخروج -b <backup-branch-name> الأصل /<pr-branch-name>
    
    # مثال:
    # git Checout -b backup-feat/add-numpy-video-question origin/feat/add-numpy-video-question
    
  3. البدء بصفحة نظيفة:

    git الدفع -b <pr-branch-name> مشاريع python-
    git cherry-seleck <commit-hash>
    
  4. حل أي تضارب، وتنظيف، وتثبيت اختبارات التشغيل

    npm تشغيل نظيفة
    
    npm ci
    npm تشغيل الاختبار:منهج --superblock=<superblock-name>
    
    # مثال:
    
    # npm تشغيل الاختبار:منهج --superblock=python-for-all person
    
    
  5. إذا بدا كل شيء جيدًا ضحك للعودة إلى اللعبة

    git push --أصل القوة <pr-branch-name>