تمرين - إضافة قاعدة لطلب مراجعة

مكتمل

في هذه الوحدة، تقوم بإعداد قاعدة على GitHub تتطلب من المراجع الموافقة على التغييرات قبل أن يتم دمجها في الفرع main. كمكافأة، ستقوم أيضا بإصلاح خطأ الكتابة على الصفحة الرئيسية لموقع Space Game .

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

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

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

أندي: مارا، كنت أقصد التحدث إليك عن شيء ما.

مارا تبحث عن.

مارا: ما الذي يمكنني مساعدتك به؟

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

مارا: يمكنني إعداد ذلك. في GitHub، هناك طريقة للتأكد من عدم دمج أي طلب سحب قبل أن يقوم شخص آخر بمراجعته والموافقة عليه.

إعداد الموافقات

في هذا القسم، ستقوم بإعداد قاعدة على GitHub تتطلب من مراجع واحد على الأقل الموافقة على طلب سحب قبل دمجه في main الفرع. ثم ستتحقق من أن القاعدة تعمل عن طريق دفع إصلاح لخطأ الكتابة الذي قامت به مارا في وقت سابق.

إضافة القاعدة

  1. في GitHub، انتقل إلى مستودع مشروع Space Game .
  2. حدد علامة التبويب الإعدادات بالقرب من أعلى الصفحة.
  3. في القائمة اليسرى، حدد الفروع.
  4. تأكد من تحديد main في الإعداد الافتراضي للفرع.
  5. حدد Add branch protection rule.
  6. ضمن Branch name pattern، أدخل الشريحة main.
  7. حدد خانة الاختيار طلب طلب سحب قبل الدمج .
  8. حدد خانة الاختيار طلب الموافقات .
  9. احتفظ بقيمة مراجعات الموافقة المطلوبة عند 1.
  10. حدد إنشاء.
  11. حدد حفظ التغييرات.

إشعار

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

إرسال الإصلاح

في هذا القسم، يمكنك إرسال تصحيح لخطأ الكتابة على الصفحة الرئيسية. تذكر أن كلمة "official" كتبت بشكل خطأ على أنها "oficial".

Screenshot of the Space Game website showing a typing error.

  1. في Visual Studio Code، انتقل إلى الموصل الطرفي.

  2. للتحقق من main الفرع، قم بتشغيل git checkout:

    git checkout main
    
  3. لسحب أحدث التغييرات إلى main الفرع من GitHub، قم بتشغيل git pull:

    git pull origin main
    

    يمكنك أن ترى أنه تم تحديث ملفين:

    • README.md: يحتوي على رمز Markdown لعرض شارة البناء.
    • Index.cshtml: يحتوي على نص الصفحة الرئيسية المحدث، والذي يتضمن خطأ الكتابة.
  4. لإصلاح الخطأ، قم بإنشاء فرع وسحبه:

    git checkout -B bugfix/home-page-typo
    
  5. في مستكشف الملفات، افتح Index.cshtml.

  6. حدد موقع الخطأ:

    <p>Welcome to the oficial Space Game site!</p>
    
  7. تغيير السطر لتصحيح الخطأ:

    <p>Welcome to the official Space Game site!</p>
    
  8. احفظ الملف.

  9. في المحطة الطرفية، قم بإعداد التغيير وتنفيذه:

    git status
    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    git commit -m "Fix typing error on the home page"
    

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

  10. ادفع الفرع إلى GitHub.

    git push origin bugfix/home-page-typo
    

اختبار القاعدة

  1. في GitHub، حدد موقع bugfix/home-page-typo الفرع وحدده.

    Screenshot of GitHub showing the recently pushed branch.

  2. لبدء طلب السحب، حدد Contribute ثم Open pull request.

  3. تعيين المستودع المتشعب كمستودع أساسي.

    Screenshot of GitHub confirming that the branch can be merged.

  4. حدد إنشاء طلب سحب.

    يمكنك أن ترى أن المراجعة البشرية مطلوبة قبل أن تتمكن من دمج التغيير.

    Screenshot of a pull request on GitHub showing that a review is required in order to merge.

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

  5. حدد خانة الاختيار دمج دون انتظار استيفاء المتطلبات (تجاوز حماية الفرع)، ثم حدد دمج طلب السحب.

  6. حدد Confirm merge.

    تم دمج التغيير الخاص بك.

  7. لحذف الفرع bugfix/home-page-typo، حدد Delete branch.