0Pricing
DevOps Bootcamp · درس

المستودعات الأحادية ووحدات Git الفرعية

تعلّم الموازنة بين المستودعات الأحادية وإعدادات المستودعات المتعددة، وكيف تُضمّن Git submodules مستودعًا داخل مستودع آخر.

المستودعات الأحادية ووحدات Git الفرعية درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

المستودع الأحادي مقابل المستودعات المتعددة

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

لماذا تختار الفرق المستودعات الأحادية؟

تسهّل المستودعات الأحادية ما يلي:

  • مشاركة التعليمات البرمجية بين المشاريع
  • إعادة الهيكلة عبر الحدود كوحدة واحدة
  • استخدام CI واحد ونظام واحد لإدارة الإصدارات

تحديات المستودعات الأحادية

يمكن أن تكبر المستودعات الأحادية الكبيرة جدًا، مما يبطئ عمليات الاستنساخ وCI. وتساعد أدوات مثل sparse checkout وذاكرات التخزين المؤقت للبناء على إدارتها.

ما الوحدة الفرعية؟

الوحدة الفرعية هي مستودع Git منفصل مضمّن داخل مستودع آخر عند التزام محدد. ويتتبع المستودع الخارجي الالتزام الذي يجب استخدامه من المستودع الداخلي.

إضافة وحدة فرعية

ضمّن مستودعًا خارجيًا في مسار باستخدام git submodule add.

git submodule add https://github.com/org/shared-lib libs/shared

ملف .gitmodules

يسجل Git مسار كل وحدة فرعية وعنوان URL الخاص بها في ملف .gitmodules متتبَّع موجود في جذر المستودع.

[submodule 'libs/shared']
  path = libs/shared
  url = https://github.com/org/shared-lib

استنساخ المستودعات مع الوحدات الفرعية

يترك الاستنساخ العادي مجلدات الوحدات الفرعية فارغة. استخدم الخيار recursive لجلبها أيضًا.

git clone --recurse-submodules https://github.com/org/app

تهيئة الوحدات الفرعية الموجودة

إذا كنت قد استنسخت المستودع مسبقًا، فاجلب محتويات الوحدة الفرعية باستخدام init وupdate.

git submodule update --init --recursive

تحديث وحدة فرعية

تبقى الوحدات الفرعية مثبتة على التزام محدد. لنقلها إلى أحدث التزامات، حدّثها من داخلها ثم نفّذ التزامًا بالمؤشر الجديد في المستودع الأصلي.

git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'

الوحدات الفرعية مقابل Subtree

يمثل git subtree بديلًا يدمج محتوى مستودع آخر مباشرةً، متجنبًا تعقيد المؤشر المثبت، لكنه يفقد الفصل الواضح.

اختيار النهج

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

اختبار سريع

اختبر مدى فهمك للمستودعات الأحادية والوحدات الفرعية.

مراجعة

لقد تعرّفت إلى المستودعات الأحادية والوحدات الفرعية:

  • تجمع المستودعات الأحادية العديد من المشروعات مركزيًا، بينما تفصلها المستودعات المتعددة
  • تضمّن الوحدات الفرعية مستودعًا مثبتًا على التزام محدد عبر .gitmodules
  • استنسخ المستودع باستخدام --recurse-submodules
  • يمثل Subtree استراتيجية بديلة للتضمين

الأسئلة الشائعة

هل درس «المستودعات الأحادية ووحدات Git الفرعية» مجاني؟

نعم — نص درس «المستودعات الأحادية ووحدات Git الفرعية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «المستودعات الأحادية ووحدات Git الفرعية»؟

تعلّم الموازنة بين المستودعات الأحادية وإعدادات المستودعات المتعددة، وكيف تُضمّن Git submodules مستودعًا داخل مستودع آخر. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «المستودعات الأحادية ووحدات Git الفرعية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Git في بيئات التطوير المتكاملة وأدوات التطوير
  2. حلول Git للمؤسسات
  3. توسيع Git للفرق الكبيرة
  4. المستودعات الأحادية ووحدات Git الفرعية
← العودة إلى DevOps Bootcamp