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

DevOps / الأساسي: الأسس المشتركة / الدرس 2

Git والمراجعة والتغييرات الصغيرة القابلة للرجوع

استخدم سجل الإصدارات دليلا للتعاون والاستعادة مع التمييز بين تغيير مراجع ونتيجة منشورة.

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

أهداف الدرس

  • ميز شجرة العمل والفهرس واللقطات المثبتة.
  • أعد تغييرا مترابطا ودليل مراجعة.
  • افصل عكس المصدر عن استعادة الخدمة.

فهم الحالات المحلية الثلاث

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

bash فحص مستودع للقراءة فقط
git status --short
git diff -- app.conf
git diff --cached -- app.conf

تلخص status الحالة، وتعرض diff غير المجهز، وتعرض diff --cached اللقطة التالية. لا تفترض الدورة مستودعا ولا تصل إليه.

الحفاظ على وحدة مراجعة مترابطة

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

yaml دليل مراجعة اصطناعي
intent: reject-empty-booking-name
behavior: invalid-input-returns-400
evidence: contract-and-regression-checks
compatibility: existing-valid-requests-unchanged
recovery: restore-previous-reviewed-artifact

يشرح السجل التغيير والفحوص وحد التوافق. هو مثال تحريري وليس إعداد محرك سير عمل.

اختيار سياسة الدمج

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

فصل استعادة السجل عن استعادة الحالة

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

ربط التثبيت بأدلة التسليم

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

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

يغيب التعديل المقصود عن التثبيت

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

لا يعيد revert الخدمة

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

تكسر التعارضات المحلولة السلوك

لماذا يحدث؟
أزيلت العلامات دون مراجعة المعنى المجمّع.
كيف تصلحه؟
أعد قراءة النتيجة وافحصها بفحوص موجهة.
كيف تتجنب تكراره؟
ركز التغييرات وادمج كثيرا.

اختبر فهمك

1. يحمل ملف إصلاحا مجهزا وطباعة تشخيص لاحقة غير مجهزة. أي فرق يصف التثبيت التالي؟

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

تصف git diff --cached اللقطة المجهزة وتستبعد الطباعة اللاحقة ما لم تُجهز. افحص الفرقين لتجنب إضافة التشخيص العرضي. تحقق من محتوى التثبيت بعده بدلا من اعتبار ملف العمل سجلا تاريخيا.

2. أزيل رمز مكشوف في تثبيت جديد. ما المطلوب أيضا؟

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

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

أهم ما تعلمته

  • يميز Git شجرة العمل والفهرس والسجل المثبت.
  • تقلل الفروع القصيرة والدمج المتكرر التباعد غير المرئي، لكن السياسة تتبع عمل الفريق.
  • سجل مراجعة المصدر وهوية البناء وبصمة الحزمة ومراجعة الإعداد ونتيجة الطرح.

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