Git وGitHub / المتوسط: إدارة التغيير التعاوني / الدرس 7
طلبات دمج GitHub والمراجعة المفيدة
قدم تغييراً قابلاً للمراجعة وفسر فحوص المنصة دون خلط الموافقة وقابلية الدمج والصحة.
في هذه الصفحة
أهداف الدرس
- عرّف الأساس والرأس والمسودة ونطاق المراجعة.
- اربط دليل المراجعة بمراجعة المرشح الحالية.
طلب الدمج مقترح مستضاف
يقترح طلب GitHub دمج فرع رأس بأساس ويجمع النقاش والإيداعات والفحوص والملفات. ليس كائن Git مخزناً بكل نسخة. يضلل الأساس الخطأ المقارنة ويستهدف صيانة خاطئة. توضح المسودة عدم الاكتمال وتمنع الدمج وفق القواعد ولا تجعل سيراً خطراً آمناً. تعتمد الميزات على الحساب والخطة والصلاحيات والإعداد؛ افحص السياسة ولا تعتبر الزر إذناً وحده.
اشرح السلوك والدليل
يسمي الوصف المشكلة والسلوك الناتج والنطاق والتحقق والحدود. اجعله مفهوماً دون المحادثة أو تاريخ المشكلة. افصل نتائج الاختبار الملاحظة من الافتراض وحدد الترحيل والتوافق. المثال ملاحظة اصطناعية لا رسالة مرسلة أو طلباً فعلياً. يكفي الإيجاز للبسيط ويحتاج الكبير سياقاً لتقييم الأثر دون استنتاج القصد من كل سطر.
يستطيع GitHub ملء وصف الطلب الجديد من ملف قالب مدعوم متاح بالفرع الافتراضي. يطلب القالب أدلة ولا يتحقق من الإجابات أو يرسل مراجعة. المثال محتوى ملف فقط ولا يثبت في مستودع فعلي.
Problem: blank notebook titles were accepted.
Behavior: titles are trimmed and rejected when empty.
Validation: boundary tests cover spaces, a valid title, and unchanged content.
Limit: no database schema changes are included.
يوضح النص بنية المراجعة وخطة تحقق مخبرية افتراضية لا نتيجة منتج حقيقية. استبدل سطر التحقق بدليل المرشح الفعلي.
## Behavior
Describe the concrete user-visible change.
## Validation
Record tests and the candidate revision actually checked.
## Risks
State migration, compatibility, and untested assumptions.
يحفظ في .github/pull_request_template.md فقط بتغيير مشروع مفوض منفصل. يتيح GitHub القوالب المدعومة من الفرع الافتراضي. لا تدعي المطالب نجاح الاختبار ولا تفرض السياسة ولا تثبتها الدورة.
افحص المرشح محلياً قبل طلب المراجعة
راجع الموضوع مقابل أساسه بقاعدة الدمج ثم الإيداعات وفحص المسافات. تعمل الأوامر على مراجع مختبر محلية. يجيب الفرق الثلاثي عن تغيير الموضوع من القاعدة وقد يختلف عن الرأسين. يكشف --check أخطاء مسافات وعلامات وفق قواعده لا الترجمة والأعمال. نفذ الاختبارات وراجع المولد والمحذوف والحساس قبل العرض.
git log --oneline main..feature/title
git diff --stat main...feature/title
git diff --check main...feature/title
يتطلب المرجعين المحليين. يخرج فحص المسافات النظيف بـ 0 بلا نص ولا يثبت الوظيفة. لا ينفذ API أو طلب مراجعة أو دفعاً أو إشعاراً.
ميّز التغذية من السياسة المفروضة
تعلق المراجعة أو توافق أو تطلب تغييراً ويعتمد المنع على القواعد والسلطة. الفحوص والملكية وحل النقاش والتوقيع وطابور الدمج ضوابط مستقلة. تخص الموافقة محتوى مراجعاً وقد تغير الإيداعات اللاحقة الخطر وتبطلها وفق الضبط. راجع الحالي واشرح العالق. يعني الفحص الأخضر نجاح تنفيذه لا تقييم كل مطلب. اجمع الدليل البشري والآلي وحدد مسؤولية التكامل.
اختر نتيجة التاريخ بقصد
تنتج طرق الدمج والتجميع وإعادة الأساس رسوماً وهويات مختلفة وتحدد الإعدادات المتاح. قد يجمع squash إيداعاً متماسكاً ويترك الأصل خارج النسب فلا يعده فحص حذف الفرع مدمجاً رغم تكافؤ الرقعة. تعيد الطرق الأخرى تشغيل التغييرات وتغير المعرّفات. اتبع العرف واشرح السياق بالرسالة. تحقق من الوجهة ولا تفترض أن الدمج يثبت إصداراً أو نشراً أو تنظيفاً.
الأخطاء الشائعة وإصلاحها
يستهدف الطلب خط صيانة خاطئاً
- لماذا يحدث؟
- اختير الأساس دون تحقق.
- كيف تصلحه؟
- افحص الرأس والأساس وراجع الفرق المصحح.
- كيف تتجنب تكراره؟
- سمِّ الوجهة بالوصف.
تفترض موافقة قديمة تغطية الجديد
- لماذا يحدث؟
- انفصلت المراجعة عن هوية المرشح.
- كيف تصلحه؟
- اطلب مراجعة مناسبة للمراجعة المتغيرة وفق السياسة.
- كيف تتجنب تكراره؟
- افحص الفرق وقواعد قدم المراجعة.
يُعامل الأخضر كإثبات جودة كامل
- لماذا يحدث؟
- اختلط التنفيذ بتغطية المتطلبات.
- كيف تصلحه؟
- راجع نطاق الفحص وما بقي مجهولاً.
- كيف تتجنب تكراره؟
- سجل التحقق والحدود بالمقترح.
اختبر فهمك
1. دُمج موضوع بـ squash ويرفض Git حذفه الآمن كغير مدمج. لماذا؟
اعرض الحل المشروح
تحوي الوجهة إيداعاً جديداً لا نسب الأصل. تحقق من المحتوى والنتيجة المستضافة قبل التنظيف. يختلف تكافؤ الرقعة والنسب فافهم التحذير ولا تتجاهله تلقائياً.
2. وافق المراجع قبل إضافة تغيير تفويض. ماذا يحدث؟
اعرض الحل المشروح
اطلب دليلاً ومراجعة مناسبين وفق السياسة واشرح الخطر والاختبارات. لا تجعل الموافقة السابقة التغيير غير المراجع آمناً.
أهم ما تعلمته
- طلبات الدمج مقترحات مستضافة برأس وأساس.
- الموافقة والفحوص والسياسة ضوابط مستقلة.
- اختر شكل التاريخ الناتج بقصد.