🌿

Git & GitHub

نظام التحكم بالإصدارات — العمود الفقري لكل مشروع برمجي. تعلّم إدارة الكود والتعاون مع الفريق.

أساسي Microsoft / Open Source

📖 ما هو Git؟

نظام تحكم بالإصدارات موزّع

Git هو نظام يتتبع التغييرات في ملفات الكود، صممه Linus Torvalds عام 2005. يتيح لك حفظ نسخ من مشروعك والعودة لأي نقطة سابقة، والتعاون مع فريق بدون تعارضات.

📸

Commit (لقطة)

حفظ حالة المشروع في نقطة زمنية مع رسالة وصفية.

🌿

Branch (فرع)

نسخة مستقلة من الكود للتطوير بدون التأثير على الرئيسي.

🔀

Merge (دمج)

دمج التغييرات من فرع لآخر بعد المراجعة.

🔄

Pull / Push

سحب التحديثات من الريبو البعيد أو دفع تغييراتك إليه.

🚀 الأوامر الأساسية

Terminal — Git Basics
# إعداد Git أول مرة git config --global user.name "Your Name" git config --global user.email "[email protected]" # إنشاء ريبو جديد git init my-project cd my-project # استنساخ ريبو موجود git clone https://github.com/user/repo.git # فحص الحالة git status # إضافة ملفات للـ staging git add . # كل الملفات git add file.txt # ملف محدد # حفظ التغييرات (commit) git commit -m "إضافة صفحة تسجيل الدخول" # عرض السجل git log --oneline --graph

🌿 الفروع والدمج

Terminal — Branching
# إنشاء فرع جديد والتبديل إليه git checkout -b feature/login-page # أو بالأمر الحديث git switch -c feature/login-page # التبديل لفرع آخر git checkout main # دمج فرع في الحالي git merge feature/login-page # حذف فرع بعد الدمج git branch -d feature/login-page # عرض الفروع git branch -a
💡 استخدم تسمية واضحة للفروع: feature/ للميزات، fix/ للإصلاحات، hotfix/ للحالات الطارئة.

☁️ التعاون مع GitHub

Terminal — Remote Operations
# ربط الريبو البعيد git remote add origin https://github.com/user/repo.git # دفع التغييرات git push -u origin main # سحب التحديثات git pull origin main # Push لفرع جديد git push -u origin feature/login-page # إنشاء Pull Request من CLI gh pr create --title "إضافة صفحة تسجيل الدخول" --body "وصف التغييرات"

🔧 Git Flow — سير العمل الاحترافي

  1. أنشئ فرع من main

    git checkout -b feature/new-feature

  2. طوّر وأضف commits

    git add . && git commit -m "feat: إضافة الميزة"

  3. ادفع الفرع للـ remote

    git push -u origin feature/new-feature

  4. افتح Pull Request

    من GitHub أو عبر gh pr create

  5. راجع التغييرات (Code Review)

    فريقك يراجع الكود ويطلب تعديلات إن لزم

  6. ادمج في main

    بعد الموافقة، Merge إلى الفرع الرئيسي

أفضل الممارسات

🎯 1. اكتب رسائل commit واضحة ومختصرة
2. استخدم Conventional Commits: feat: fix: docs:
3. لا تدفع لـ main مباشرة — استخدم Pull Requests
4. استخدم .gitignore لتجاهل الملفات غير المهمة
5. راجع التغييرات قبل الـ commit: git diff
6. استخدم git stash لحفظ التغييرات مؤقتاً
السابق: أساسيات Linux التالي: الشبكات