في هذا الدرس 6تصفّح المواضيع
يخلط كثير من المبتدئين بين نظام Git ومنصة GitHub ظناً منهما أنهما شيء واحد، والحقيقة أنهما يمثلان طبقتين مختلفتين تماماً في هندسة البرمجيات:
- نظام Git (المحرك المحلي): أداة تحكم في الإصدارات مجانية ومفتوحة المصدر تُثبَّت مباشرة على نظام التشغيل (Windows, Linux, macOS) لتدير اللقطات والفروع على قرص جهازك.
- منصة GitHub (الخدمة السحابية): موقع ومنصة سحابية على الويب تستضيف نسخاً من مستودعات Git عبر الإنترنت لتمكين الفرق من مشاركة الكود والتعاون عن بُعد.
# Layer 1: Local Git Engine (on your laptop)
# Path: ~/projects/closetag-app/.git
#
# Layer 2: Cloud Hosting Platform (on the web)
# URL: https://github.com/closetag/closetag-app
يتساءل المبتدئون دائماً: هل يمكن استخدام Git بدون إنشاء حساب على GitHub؟ نعم بنسبة 100%! فلأن Git نظام تحكم موزع، فإن مستودعك المحلي مكتفٍ بذاته تماماً:
- لا يشترط حساباً سحابياً: يمكنك إنشاء المستودع وتجهيز الملفات وحفظ اللقطات وإنشاء الفروع ودمجها على حاسوب معزول تماماً عن الإنترنت.
- المزامنة عند الحاجة فقط: لا تحتاج للاتصال بمنصة سحابية مثل GitHub إلا عندما ترغب في رفع نسخة احتياطية عن بُعد أو مشاركة تعديلاتك مع زملاء الفريق.
# Offline Local Workflow (No internet required):
# 1. Edit HTML/CSS/JS files on disk
# 2. Stage and commit snapshots into local .git/
# 3. Inspect history and branches locally
بينما يتكفل محرك Git بإدارة اللقطات والفروع برمجياً، تضيف منصة GitHub منظومة تعاونية متكاملة عبر المتصفح فوق مستودعات Git:
- طلبات الدمج ومراجعة الكود (Pull Requests): عرض التعديلات المقترحة سطراً بسطر لمناقشتها واعتمادها من الفريق قبل دمجها في الفرع الرئيسي.
- إدارة التذاكر والمشكلات (Issues): تتبع الأخطاء البرمجية وطلبات الميزات الجديدة وربطها بالالتزامات.
- الأتمتة والفحص الآلي (GitHub Actions): تشغيل الاختبارات الآلية وبناء المشروع تلقائياً فور رفع أي تعديل.
نظراً لأن نظام Git معيار حر ومفتوح المصدر غير محتكر لشركة واحدة، تتوفر عدة منصات سحابية كبرى تستضيف مستودعات Git بنفس البروتوكول القياسي تماماً:
- منصة GitHub: المنصة الأوسع انتشاراً عالمياً للمشاريع مفتوحة المصدر وملفات أعمال المطورين.
- منصة GitLab: تتميز بأدوات الأتمتة المدمجة وإمكانية تنصيبها على خوادم الشركات الداخلية الخاصة.
- منصة Bitbucket: شائعة في الفرق التي تعتمد منظومة Atlassian مثل Jira في إدارة المشاريع.
# All major cloud hosts use standard Git:
# GitHub: https://github.com/org/repo.git
# GitLab: https://gitlab.com/org/repo.git
# Bitbucket: https://bitbucket.org/org/repo.git
يمكن التعامل مع Git عبر واجهة سطر الأوامر (CLI) أو عبر البرامج الرسومية (GUI) مثل لوحة التحكم المدمجة في محرر VS Code أو تطبيق GitHub Desktop. ولكن لماذا يُجمع خبراء البرمجة على ضرورة إتقان سطر الأوامر أولاً؟
- الوصول الكامل لجميع الخيارات: تعرض البرامج الرسومية جزءاً مبسطاً فقط من الأوامر، بينما يمنحك سطر الأوامر السيطرة الكاملة على كافة إمكانات Git الدقيقة.
- ثبات الأوامر في كل البيئات: يعمل سطر أوامر Git بنفس الصياغة على ويندوز وماك وخوادم لينكس السحابية التي لا تملك شاشة رسومية.
# Why master the Git CLI first?
# 1. Identical commands on Windows, macOS & Linux
# 2. Works over remote SSH server terminals
# 3. Makes every GUI button easy to understand
يلخص الجدول المرجعي التالي الفروق الجوهرية بين محرك Git المحلي ومنصة GitHub السحابية قبل أن نبدأ تثبيت النظام وضبط إعداداته في الدرس الرابع:
| وجه المقارنة | نظام Git (المحرك المحلي) | منصة GitHub (الاستضافة السحابية) |
|---|---|---|
| الطبيعة التقنية | برنامج مفتوح المصدر يُثبَّت على جهازك | خدمة سحابية على الويب لاستضافة مستودعات Git |
| الحاجة للإنترنت | يعمل محلياً بالكامل بدون اتصال بالإنترنت | يتطلب اتصالاً بالإنترنت للرفع والمراجعة |
| المهام الأساسية | اللقطات، منطقة التجهيز، الفروع، الدمج، السجل | طلبات الدمج Pull Requests، مراجعة الكود، التذاكر |
| سنة التأسيس والمطور | عام 2005 بواسطة لينوس تورفالدس | عام 2008 كمنصة تعاون سحابية للمطورين |
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
ميزت في هذا الدرس بدقة بين محرك Git المحلي ومنصة GitHub السحابية، وتعرفت على استقلالية العمل المحلي بدون إنترنت، ومزايا طلبات الدمج ومراجعة الكود في المنصات السحابية، وأهمية إتقان سطر الأوامر أولاً. الخطوة التالية: انتقل الآن إلى الدرس رقم 4 «تثبيت نظام Git وإعداد الهوية والبيئة» لتنفيذ أول أوامر Git الفعلية في الطرفية.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Git Engine محرك Git المحلي
- البرنامج المحلي المثبت على حاسوبك لإدارة اللقطات والفروع داخل مجلد .git دون حاجة للإنترنت.
- للمراجعة
- 02 Cloud Repository Host منصة استضافة المستودعات
- خدمة سحابية على الويب مثل GitHub أو GitLab تحفظ نسخاً بعيدة من مستودعات Git لتعاون الفرق.
- للمراجعة
- 03 Pull Request طلب الدمج Pull Request
- آلية تعاونية على منصات الاستضافة يطلب فيها المطور مراجعة فرعه البرمجي ودمجه في الفرع الرئيسي.
- للمراجعة
- 04 Command-Line Interface واجهة سطر الأوامر
- بيئة الطرفية النصية التي ينفذ فيها المطور أوامر Git الكاملة بثبات عبر مختلف أنظمة التشغيل.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 CLI CLI
- Command-Line Interface
- واجهة نصية لتنفيذ الأوامر البرمجية مباشرة في الطرفية.
- للمراجعة
- 02 GUI GUI
- Graphical User Interface
- واجهة رسومية تعتمد النوافذ والأزرار وتستدعي أوامر الطرفية في الخلفية.
- للمراجعة
- 03 PR PR
- Pull Request
- طلب مراجعة ودمج التعديلات بين الفروع على منصة GitHub.
- للمراجعة
- 04 CI/CD CI/CD
- Continuous Integration / Continuous Delivery
- التكامل والتسليم المستمر لتشغيل الاختبارات والنشر الآلي عند رفع الكود.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
بدّل بين تبويبات المحاكي التفاعلي الثلاثة لمقارنة مهام محرك Git المحلي بمزايا منصتي GitHub وGitLab.
-
راجع جدول المقارنة في الموضوع السادس وصنّف اللقطات وطلبات الدمج حسب طبقة عمل كل منها.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.
لمحة عن التحدي8 أسئلة تنتظرك +
ما الفرق الجوهري بين نظام Git ومنصة GitHub؟
نظام Git هو أداة التحكم في الإصدارات المثبتة محلياً على جهازك، بينما GitHub منصة سحابية لاستضافة مستودعات Git والتعاون عبر الويب.
يمكنك إنشاء مستودع Git محلي وتجهيز الملفات وحفظ اللقطات على حاسوبك دون امتلاك حساب على GitHub.
صواب؛ فمحرك Git المحلي يعمل بكامل كفاءته على جهازك دون اشتراط أي حساب سحابي.
أي ميزة من المزايا التالية توفرها منصة GitHub السحابية ولا تُعد جزءاً من نواة Git المحلية؟
تُعد طلبات الدمج Pull Requests ومراجعات الويب وأتمتة GitHub Actions من مزايا المنصة السحابية.
ما المنصات السحابية الشهيرة البديلة لمنصة GitHub والتي تستضيف مستودعات Git القياسية أيضاً؟
تُعد منصتا GitLab وBitbucket من أشهر المنصات السحابية التي تستضيف مستودعات Git القياسية.
يتيح لك إتقان أوامر Git القياسية التعامل مع المستودعات المستضافة على GitHub أو GitLab أو Bitbucket على حد سواء.
صواب؛ فجميع منصات استضافة Git تتعامل مع نفس أوامر وبروتوكولات Git القياسية.
لماذا يُنصح بإتقان سطر أوامر Git (CLI) قبل الاعتماد على الواجهات الرسومية (GUI)؟
يمنحك سطر الأوامر إمكانية الوصول الكاملة لجميع ميزات Git ويعمل بثبات على كافة أنظمة التشغيل والخوادم البعيدة.
يصبح مستودع Git المحلي على حاسوبك منشوراً للعامة على GitHub تلقائياً بمجرد إنشائه على القرص.
خطأ؛ فالمستودع المحلي يبقى خاصاً على قرص جهازك ولا يُنشر سحابياً إلا إذا ربطته ورفعته بنفسك.
ماذا يحدث خلف الكواليس عندما تضغط على زر الحفظ Commit داخل واجهة رسومية مثل محرر VS Code؟
تقوم الواجهة الرسومية باستدعاء أمر Git النصي المقابل وتنفيذه في الخلفية.