Git من الصفر إلى مطور واثق
أتقن Git حتى تعمل بثقة ضمن فريق، وتدير تاريخ المشروع بشكل صحيح، وتجتاز المقابلات التقنية بنجاح - بدءًا من أول commit إلى طلب السحب في مستودع حقيقي.
لمن هذه الدورة
المبرمجون المبتدئون الذين يكتبون الكود بلغة برمجة ما، لكنهم لم يعملوا بجدية مع نظام التحكم في الإصدارات من قبل، أو يعرفون Git بشكل سطحي ويريدون ترتيب معارفهم قبل دخول سوق العمل.
المتطلبات
مهارات أساسية في العمل مع سطر الأوامر: التنقل بين المجلدات، إنشاء وحذف الملفات. القدرة على كتابة كود بسيط بأي لغة - اللغة ليست مهمة، المهم هو أنك تبرمج بالفعل.
منهج الدورة
13 درس
1
تمهيدي
مقدمة: Git من الصفر إلى مُطوّر محترف
في هذه المحاضرة، سنبدأ من الخطوات الأساسية لاستخدام Git، ونغوص في أدواته ووظائفه بما يكفي لتصبح مُطوّرًا محترفًا يحترر إدارة النسخ والتعاون في المشاريع. ستتعلم كيفية إنشاء مستودعات، وإدارة النسخ، وحل النزاعات، وتطبيق أفضل الممارسات لتطوير البرمجيات بكفاءة.
نظرية التحكم في الإصدارات
إنشاء وإدارة المستودعات
عمليات الالتزام (Commits)
إدارة الفروع (Branches)
دمج التغييرات (Merging)
حل النزاعات (Conflicts)
أنماط العمل (Workflows)
إعداد البيئة والخادم (Server Setup)
7 د
مجاني
مشاهدة
لماذا نحتاج إلى Git على الإطلاق — ولماذا لا يُقدّم عليك العمل دونه
سنبدأ ليس بالأوامر، بل بالألم: ننظر إلى كيف تبدو التطوير بدون نظام التحكم بالنسخ — مجلدات مثل 'المشروع_النهائي_2'، 'المشروع_النهائي_بالتأكيد'، والخوف من حذف الملفات غير الضرورية. ستفهم ما المشكلة التي يحلها Git، لماذا أصبحت المعيار في الصناعة، وما الذي يتحقق منه صاحب العمل عند مراجعة ملفك على GitHub.
نظام التحكم بالنسخ
سجل التغييرات
الهيكلية الموزعة
22 د
بعد التسجيل
تثبيت وإعداد Git لأول استخدام
سنثبّت Git على Windows وmacOS وLinux، ونشرح لماذا إعداد الاسم والبريد الإلكتروني ليس مجرد إجراء شكلي، بل جزء من سجلّ الكوميتات. سنجهّز الترمنال مع بعض اختصارات الأوامر المفيدة، حتى تبدأ العمل براحة من اليوم الأول بدل التعب مع الأوامر الطويلة.
تثبيت Git
git config
الإعداد العام
18 د
في الاشتراك
الاشتراك الآن
المستودع الأول: init وadd وcommit وسحر الفهرس
سننشئ أول مستودع Git ونتعرف فورًا على مفهوم كثير من المطورين لا يفهمونه جيدًا لسنوات: منطقة الترحيل (staging area) أو الفهرس. سنشرح سبب أهمية هذه الطبقة الوسيطة بين مجلد العمل وسجلّ التاريخ، وسنرى من خلال أمثلة عملية لماذا تجعل عملية الإضافة ثم التثبيت، add → commit، التثبيتات أكثر وضوحًا ومغزى بدل أن تكون عشوائية.
المستودع
منطقة الترحيل (staging area)
التثبيت (commit)
28 د
في الاشتراك
الاشتراك الآن
قراءة سجل المشروع: أوامر log و diff و show والتنقل في السجل
سجل المشروع ليس مجرد قائمة بالعمليات، بل هو توثيق للقرارات التي اتخذها الفريق. في هذا الدرس، ستتعلم قراءة السجل بطريقة مفيدة: تصفية الالتزامات، ومعرفة التغييرات الدقيقة بين الإصدارات، وفهم تجزئات SHA-1 دون قلق. كما سنوضح كيف تميّز السجل الجيد والمنظم من السجل غير الواضح، لأن ذلك يؤثر مباشرة في طريقة تقييم الفريق لك.
تجزئة الالتزام
git log
git diff
25 د
في الاشتراك
الاشتراك الآن
الفروع: الواقع الموازي لرمزك البرمجي
الفروع هي قلب Git، وهنا يبدأ معظم المبتدئين بالخوف. سنزيل الغموض عن الفروع: سنبين أن الفرع هو مجرد مؤشر، وليس نسخة من الملفات. سنشرح كيفية إنشاء الفروع، والتبديل بينها، ودمج التغييرات، وسنرى الفرق بين الدمج السريع (fast-forward) والدمج ثلاثي الاتجاهات من خلال أمثلة حية.
فرع
HEAD
دمج
32 د
في الاشتراك
الاشتراك الآن
إلغاء الأخطاء: الأوامر restore، reset، revert — الاستخدام الصحيح والخطير
واحدة من أكثر المواضيع طلبًا في المقابلات والعمل الفعلي هي كيفية إلغاء ما تم فعله بالفعل. سنشرح ثلاث أدوات بمستويات مختلفة من الإلغاء ونركز على الأهم: سنعرض سيناريوهات محددة حيث يؤدي reset --hard إلى تدمير العمل الجماعي، بينما revert هو البديل الآمن. حلول جيدة وأخرى سيئة - مع عواقب حقيقية.
git restore
git reset
git revert
30 د
في الاشتراك
الاشتراك الآن
GitHub والمستودعات البعيدة: كودك في السحابة
ننتقل من العمل المحلي إلى العمل الجماعي: نفهم ما هو المستودع البعيد، وكيفية ربط المستودع المحلي بـ GitHub، والفرق بين push و pull و fetch — ثلاثة أوامر يتم الخلط بينها كثيرًا. وسننظر بشكل منفصل في المصادقة عبر مفاتيح SSH، لأن أرباب العمل يتوقعون منك إعداد ذلك بنفسك.
المستودع البعيد (remote)
الأصل (origin)
دفع / سحب / جلب (push / pull / fetch)
27 د
في الاشتراك
الاشتراك الآن
العمل الجماعي: النسخ المتفرعة، الفروع المميزة وطلبات السحب
يصف هذا القسم كيفية عمل 90% من فرق المصادر المفتوحة وفرق الشركات. سنغطي الدورة الكاملة: النسخ المتفرع → الفرع المميز → الالتزامات → طلب السحب → مراجعة الكود → الدمج. سنشرح بشكل منفصل كيفية كتابة وصف طلب السحب ليفهم المراجع السياق فورًا، وما الأخطاء التي تكشف المبتدئ في طلب السحب.
النسخ المتفرع
طلب السحب
مراجعة الكود
33 د
في الاشتراك
الاشتراك الآن
نزاعات الدمج: لا داعي للذعر — افهمها وحُلّها
تخيف نزاعات الدمج المبتدئين، لكن بعد هذا القسم ستواجهونها بهدوء. سنشرح لماذا تنشأ النزاعات (Git لا يقرأ الأفكار — لا يعرف أي تغيير أهم)، وكيفية قراءة علامات النزاع، وكيفية اختيار الحل المناسب. وسنعرض نهجين: الحل اليدوي واستخدام أدوات الدمج.
نزاع الدمج
علامات النزاع
حل النزاع
28 د
في الاشتراك
الاشتراك الآن
سير عمل Git في الفرق الحقيقية: أي سير عمل تختار
غالبًا ما يُطرح في المقابلات سؤال: «ما سير عمل Git الذي استخدمته؟» بعد هذا القسم، سيكون لديك إجابة صادقة ومفصلة. سنستعرض ثلاثة أساليب شائعة — Feature Branch Workflow وGit Flow وTrunk-Based Development — ونحلل أين يكون كل منها فعالاً وأين يصبح عائقًا.
Feature Branch Workflow
Git Flow
Trunk-Based Development
23 د
في الاشتراك
الاشتراك الآن
الأدوات المتقدمة: rebase، stash، cherry-pick والعلامات (tags)
ننتقل الآن إلى الأدوات التي تميّز المستخدم الواثق من Git عن من يعرف الأساسيات فقط. سنشرح rebase كبديل لـ merge — وسنوضح متى يجعل التاريخ أنظف ومتى يجعله كابوسًا. ونضيف stash لحفظ العمل غير المكتمل مؤقتًا، و cherry-pick لنقل الالتزامات بدقة، والعلامات (tags) لوضع علامات على الإصدارات.
git rebase
git stash
git cherry-pick
35 د
في الاشتراك
الاشتراك الآن
المشروع النهائي: محاكاة التطوير الجماعي الفعلي
طبق كل ما تعلمته في سيناريو متكامل: أنت مطور ضمن فريق صغير يتطلب إضافة ميزة جديدة، تصحيح خطأ، وإصدار النسخة النهائية. سنمر خطوة بخطوة عبر الدورة الكاملة: إنشاء المستودع، العمل في الفروع، طلبات السحب، الصراعات المتعمدة وحلها، إعادة التنظيم لتنظيف السجل، ووسم الإصدار النهائي. في النهاية، سيكون لديك مستودع حقيقي يمكنك عرضه على أصحاب العمل.
سير عمل Git الكامل
التطوير الجماعي
دورة الإصدار
35 د
في الاشتراك
الاشتراك الآن