Git من الصفر إلى مطور واثق

أتقن Git حتى تعمل بثقة ضمن فريق، وتدير تاريخ المشروع بشكل صحيح، وتجتاز المقابلات التقنية بنجاح - بدءًا من أول commit إلى طلب السحب في مستودع حقيقي.

13 leksyon 5h 43min Sa subscription
Para kanino ang kursong ito
المبرمجون المبتدئون الذين يكتبون الكود بلغة برمجة ما، لكنهم لم يعملوا بجدية مع نظام التحكم في الإصدارات من قبل، أو يعرفون Git بشكل سطحي ويريدون ترتيب معارفهم قبل دخول سوق العمل.
Mga Kinakailangan
مهارات أساسية في العمل مع سطر الأوامر: التنقل بين المجلدات، إنشاء وحذف الملفات. القدرة على كتابة كود بسيط بأي لغة - اللغة ليست مهمة، المهم هو أنك تبرمج بالفعل.

Kurikulum ng Kurso

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