البرمجة📅 2026-09-25⏱ 11 دقائق قراءة
Git و GitHub للمبتدئين — احفظ كودك وشاركه مع العالم

Git و GitHub للمبتدئين — احفظ كودك وشاركه مع العالم

دليل شامل لتعلم Git و GitHub من الصفر — تثبيت، أوامر أساسية، رفع أول مشروع، والعمل مع الفروع

خلال سلسلة Python، بنيت مشاريع رائعة: آلة حاسبة، تطبيق مهام، وألعاب. لكن هناك سؤال مهم: ماذا لو ضاع الكود؟ ماذا لو أردت مشاركته مع صديق؟ ماذا لو أردت العودة لنسخة سابقة؟

هنا يأتي دور Git و GitHub — الأدوات التي يستخدمها كل مبرمج محترف في العالم.

بنهاية هذا المقال، ستكون قادراً على:

  • فهم ما هو Git ولماذا هو أساسي
  • تثبيت Git على جهازك
  • إتقان الأوامر الأساسية
  • إنشاء حساب GitHub احترافي
  • رفع مشاريعك على GitHub
  • العمل مع الفروع (Branches)
  • التعاون مع مبرمجين آخرين

1. ما هو Git؟

التعريف

Git هو نظام للتحكم في الإصدارات (Version Control System) — يتتبع كل تعديل تجريه على كودك.

القياس العملي

تخيل أنك تكتب كتاباً:

  • بدون Git: تعدل ثم تحفظ، والنسخة القديمة تُفقد للأبد
  • مع Git: كل تعديل يُحفظ كنسخة منفصلة، يمكنك العودة لأي نسخة سابقة

لماذا نحتاج Git؟

المشكلةالحل بـ Git
ضاع الكودكل نسخة محفوظة محلياً
أفسدت شيئاًيمكنك العودة لأي نسخة سابقة
تريد المشاركةأرسل نسخة لأي شخص
تعمل مع فريقكل شخص يعمل على فرعه
تريد تتبع التغييراتكل تعديل موثّق بالمكان والوقت

2. ما هو GitHub؟

الفرق بين Git و GitHub

الكثير يخلط بينهما. الفرق بسيط:

GitGitHub
برنامج يُثبت على جهازكموقع إلكتروني على الإنترنت
يعمل محلياً بدون إنترنتيحتاج إنترنت للوصول
يحفظ الكود على جهازكيحفظ الكود في السحابة
مجاني ومفتوح المصدرمجاني للحسابات الشخصية

القياس:

Git مثل الكاميرا — تصور لحظاتك وتاريخك. GitHub مثل معرض الصور — تعرض فيه إنجازاتك للعالم.

3. تثبيت Git

على ويندوز

  1. اذهب إلى: git-scm.com
  2. حمّل النسخة المناسبة لويندوز
  3. شغّل المُثبّت
  4. اتبع الخطوات (Next → Next → Finish)
  5. مهم: اختر Git Bash كمحرر افتراضي

على ماك

الطريقة 1: عبر Homebrew

brew install git

الطريقة 2: مع Xcode

xcode-select --install

التأكد من التثبيت

افتح Terminal أو Git Bash واكتب:

git --version

النتيجة المتوقعة:

git version 2.43.0

4. الإعداد الأولي

إعداد اسمك وبريدك

هذه الخطوة إلزامية — ستُسجل مع كل تعديل تجريه.

git config --global user.name "اسمك الكامل"
git config --global user.email "your.email@example.com"

تحقق من الإعدادات

git config --list

مثال:

git config --global user.name "Jamal Salem"
git config --global user.email "j_a_salem@hotmail.com"

⚠️ مهم: استخدم نفس البريد المسجل في GitHub، وإلا لن تُربط الـ commits بحسابك.

5. الأوامر الأساسية

1. إنشاء مستودع جديد

mkdir my-project
cd my-project
git init

النتيجة:

Initialized empty Git repository in /path/to/my-project/.git/

ما حدث؟ Git أنشأ مجلداً خفياً .git يتتبع كل التغييرات.

2. معرفة حالة المستودع

git status

النتيجة المتوقعة:

On branch main
No commits yet

nothing to commit (create/copy files and use "git add" to track)

3. إضافة الملفات

# إضافة ملف واحد
git add filename.py

# إضافة كل الملفات
git add .

# إضافة نوع معين من الملفات
git add *.py

4. حفظ التغييرات (Commit)

git commit -m "وصف مختصر للتغييرات"

رسالة جيدة:

git commit -m "إضافة دالة حساب المساحة"

رسالة سيئة:

git commit -m "تعديلات"   # ❌ غامض

5. عرض سجل التغييرات

git log

النتيجة:

commit a1b2c3d4e5f6...
Author: Jamal Salem <j_a_salem@hotmail.com>
Date:   Thu Sep 25 10:30:00 2026

    إضافة دالة حساب المساحة

نسخة مختصرة:

git log --oneline

6. إنشاء حساب GitHub

الخطوة 1: التسجيل

  1. اذهب إلى: github.com
  2. اضغط Sign up
  3. أدخل:
    • Email: بريدك الإلكتروني
    • Password: كلمة مرور قوية
    • Username: اسم مستخدم (مثل jamalsalem79)

الخطوة 2: اختيار الخطة

اختر Free (مجانية) — كافية للمشاريع الشخصية.

الخطوة 3: تأكيد البريد

افتح بريدك، اضغط على رابط التأكيد.

الخطوة 4: إعداد الملف الشخصي

  • صورة شخصية
  • نبذة (Bio): "مطور Python | مهتم بالذكاء الاصطناعي"
  • الموقع: مدينتك

7. ربط Git المحلي بـ GitHub

الخطوة 1: إنشاء مستودع على GitHub

  1. في GitHub، اضغط + في الأعلى
  2. اختر New repository
  3. املأ:
    • Repository name: my-first-project
    • Description: وصف المشروع
    • Public أو Private
    • ⚠️ لا تحدد "Add README" (لأننا سنرفع من المحلي)
  4. اضغط Create repository

الخطوة 2: ربط المستودع المحلي

GitHub سيعطيك أوامر جاهزة. انسخها:

git remote add origin https://github.com/jamalsalem79/my-first-project.git
git branch -M main
git push -u origin main

الخطوة 3: توثيق الدخول

عند أول push، سيطلب منك GitHub تسجيل الدخول:

  • الطريقة 1: كلمة مرور الحساب (مع 2FA)
  • الطريقة 2: Personal Access Token (الأفضل)

إنشاء Personal Access Token:

  1. اذهب إلى: GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
  2. اضغط Generate new token (classic)
  3. املأ:
    • Note: "Git Local"
    • Expiration: 90 days أو No expiration
    • Scopes: حدد repo (كامل)
  4. اضغط Generate
  5. انسخ الرمز فوراً (لن يظهر مرة أخرى)
  6. استخدمه كلمة مرور عند push

8. سير العمل اليومي

السيناريو الكامل:

# 1. تعديل الملفات في VS Code

# 2. عرض ما تم تعديله
git status

# 3. إضافة الملفات
git add .

# 4. حفظ التغييرات
git commit -m "وصف التعديلات"

# 5. رفع إلى GitHub
git push

مثال عملي:

# عدلت ملف calculator.py
git status
# سيعرض: modified: calculator.py

git add calculator.py
git commit -m "تحسين دالة القسمة"
git push

9. رفع مشاريع Python

إنشاء ملف .gitignore

مهم جداً! لا ترفع كل الملفات. أنشئ ملف .gitignore:

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
venv/
env/
ENV/

# IDE
.vscode/
.idea/
*.swp

# OS
.DS_Store
Thumbs.db

# Environment
.env
.env.local

# Database
*.db
*.sqlite3

إنشاء ملف README.md

هذا أول ملف يراه الزائر. اجعله احترافياً:

# 🐍 اسم المشروع

وصف مختصر للمشروع.

## ✨ المميزات

- ميزة 1
- ميزة 2
- ميزة 3

## 🚀 التشغيل

```bash
python main.py

🛠 التقنيات

  • Python 3.12
  • Tkinter
  • SQLite

📸 صور

لقطة شاشة

📝 الترخيص

MIT License


## 10. الفروع (Branches)

### ما هي الفروع؟

**الفرع** هو نسخة منفصلة من مشروعك، تجرب فيها أفكاراً جديدة دون التأثير على النسخة الأصلية.

### متى تستخدم الفروع؟

<table>
  <thead>
    <tr>
      <th>الموقف</th>
      <th>استخدام الفرع</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>إضافة ميزة جديدة</td>
      <td>✅ فرع منفصل</td>
    </tr>
    <tr>
      <td>إصلاح خطأ كبير</td>
      <td>✅ فرع منفصل</td>
    </tr>
    <tr>
      <td>تجربة فكرة</td>
      <td>✅ فرع منفصل</td>
    </tr>
    <tr>
      <td>تعديل بسيط</td>
      <td>لا — مباشرة على main</td>
    </tr>
  </tbody>
</table>

### الأوامر:

```bash
# عرض الفروع
git branch

# إنشاء فرع جديد
git branch feature-login

# التبديل لفرع
git checkout feature-login

# إنشاء + تبديل في خطوة واحدة
git checkout -b feature-login

# العودة لـ main
git checkout main

دمج الفروع:

# 1. ارجع للفرع الرئيسي
git checkout main

# 2. ادمج الفرع
git merge feature-login

# 3. ارفع التحديث
git push

11. سير العمل مع الفرق

1. نسخ مشروع موجود (Clone)

git clone https://github.com/username/repo-name.git
cd repo-name

2. جلب آخر التحديثات (Pull)

git pull

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

3. العمل على فرع خاص

git checkout -b feature/my-feature
# ... تعديلات
git commit -m "إضافة ميزة جديدة"
git push -u origin feature/my-feature

4. Pull Request

في GitHub:

  1. سيظهر لك زر "Compare & pull request"
  2. اضغطه
  3. اكتب وصفاً للتغييرات
  4. اضغط Create pull request
  5. انتظر مراجعة الفريق
  6. بعد الموافقة، اضغط Merge

12. أوامر مفيدة إضافية

الأمرالوظيفة
git diffعرض الفروقات غير المحفوظة
git restore file.pyإلغاء تعديلات غير محفوظة
git reset --soft HEAD~1إلغاء آخر commit (مع الاحتفاظ بالتعديلات)
git stashحفظ مؤقت للتعديلات
git stash popاستعادة التعديلات المحفوظة
git remote -vعرض المستودعات المرتبطة
git config --listعرض كل الإعدادات

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

1. رسائل Commit واضحة

✅ جيدة:

إضافة دالة حساب المساحة
إصلاح خطأ في القسمة على صفر
تحسين أداء البحث

❌ سيئة:

تعديلات
تحديث
شيء جديد

2. Commit صغير ومتكرر

بدلاً من:

  • commit واحد بـ 500 سطر

افعل:

  • 10 commits، كل واحد يخص ميزة أو إصلاح

الفائدة: سهولة العودة لأي نقطة.

3. استخدم .gitignore

لا ترفع أبداً:

  • __pycache__/
  • venv/
  • .env
  • ملفات قواعد البيانات المحلية

4. اكتب README جيد

أول ما يراه زائر مشروعك.

5. استخدم الفروع

لا تعمل مباشرة على main في المشاريع الكبيرة.

14. أخطاء شائعة

الخطأ 1: fatal: not a git repository

السبب: نسيت تشغيل git init أو أنت في المجلد الخطأ.

الحل:

cd project-folder
git init

الخطأ 2: failed to push some refs

السبب: GitHub فيه commits غير موجودة محلياً.

الحل:

git pull --rebase
git push

الخطأ 3: نسيت git add قبل git commit

الحل:

git add .
git commit -m "الرسالة"

الخطأ 4: Commit بـ email خاطئ

السبب: لم تُعِدّ user.email.

الحل:

git config --global user.email "correct@email.com"

# إصلاح commit الأخير
git commit --amend --reset-author --no-edit
git push --force

15. مشروعك الأول على GitHub

رفع آلة حاسبة Python

# 1. اذهب إلى مجلد المشروع
cd python-calculator

# 2. تهيئة Git
git init

# 3. إنشاء .gitignore
# (انظر القسم 9)

# 4. إنشاء README.md
# (انظر القسم 9)

# 5. إضافة كل الملفات
git add .

# 6. حفظ أول commit
git commit -m "النسخة الأولى من الآلة الحاسبة"

# 7. ربط بـ GitHub
git remote add origin https://github.com/username/python-calculator.git

# 8. الفرع الرئيسي
git branch -M main

# 9. رفع
git push -u origin main

بعد الرفع:

افتح GitHub، سترى مشروعك جاهزاً مع:

  • ✅ الملفات
  • ✅ README.md
  • ✅ سجل التعديلات

16. GitHub كسيرة ذاتية

لماذا GitHub مهم؟

الفائدةالشرح
إثبات مهاراتكأصحاب العمل يرون كودك الفعلي
معرض أعمالبدلاً من "أعرف Python"، أظهر مشاريعك
التعاونيمكنك العمل مع مبرمجين عالميين
المساهمةساهم في مشاريع مفتوحة المصدر

نصائح لـ GitHub احترافي:

  1. ارفع 5-10 مشاريع على الأقل
  2. كل مشروع له README واضح
  3. استخدم أسماء ملفات ذات معنى
  4. لا ترفع كوداً منسوخاً
  5. استمر بالتحديث (النشاط الأخضر مهم)

قائمة تحقق — هل تعلمت؟

المهارةالحالة
تثبيت Git وإعداده⬜
إنشاء مستودع محلي⬜
إضافة وحفظ التغييرات⬜
إنشاء حساب GitHub⬜
ربط المحلي بالبعيد⬜
رفع مشروع كامل⬜
العمل مع الفروع⬜
استخدام .gitignore وREADME⬜

الخلاصة

في هذا المقال، تعلمت:

  1. ما هو Git — نظام التحكم في الإصدارات
  2. ما هو GitHub — منصة استضافة الكود
  3. التثبيت والإعداد — تهيئة Git على جهازك
  4. الأوامر الأساسية — add, commit, push, pull
  5. إنشاء حساب GitHub — وربطه بـ Git المحلي
  6. سير العمل اليومي — من التعديل للرفع
  7. الفروع (Branches) — تجربة آمنة للميزات الجديدة
  8. التعاون — Pull Requests والمراجعة
  9. أفضل الممارسات — رسائل واضحة وcommit صغير
  10. GitHub كسيرة ذاتية — إظهار مهاراتك للعالم

Git و GitHub ليسا اختياريين — إنهما أساس كل مبرمج محترف.


🎉 نهاية سلسلة Python!

بهذا المقال، أكملنا سلسلة تعلم Python كاملة — من الصفر إلى الاحتراف:

#المقال
1تثبيت Python على ويندوز وماك
2أول برنامج لك بلغة Python
3المتغيرات وأنواع البيانات
4الشروط (if/else)
5الحلقات (Loops)
6الدوال (Functions)
75 مشاريع Python للمبتدئين
8بناء آلة حاسبة
9بناء تطبيق مهام كامل
10Git و GitHub (هذا المقال)

الآن أنت مبرمج Python حقيقي! 🐍


🎁 هدية خاصة

لإكمال رحلتك، إليك خارطة طريق مقترحة:

المستوى التالي:

  1. تعلم Flask أو Django — لتطوير الويب
  2. تعلم Pandas وNumPy — لتحليل البيانات
  3. تعلم TensorFlow — للذكاء الاصطناعي
  4. المساهمة في Open Source — على GitHub
  5. بناء مشروعك الخاص — فكرة تحبها

موادر مفيدة:

  • freeCodeCamp — دورات مجانية
  • GitHub Explore — مشاريع مفتوحة المصدر
  • Real Python — مقالات ودروس
  • DeepSeek — مساعد ذكي بالعربية

شكراً لك على متابعة السلسلة كاملة! 🎉

ما المشروع القادم الذي ستبنيه؟ شاركنا في التعليقات!

فريق نهضة

فريق نهضة

فريق عربي متخصص في التقنية والذكاء الاصطناعي وتطوير الذات

📚 مقالات ذات صلة

بناء تطبيق مهام كامل بلغة Python — مع قاعدة بيانات
البرمجة

بناء تطبيق مهام كامل بلغة Python — مع قاعدة بيانات

دليل عملي لبناء تطبيق إدارة مهام احترافي بلغة Python — مع قاعدة بيانات SQLite وواجهة رسومية Tkinter

بناء آلة حاسبة بلغة Python — مشروع كامل خطوة بخطوة
البرمجة

بناء آلة حاسبة بلغة Python — مشروع كامل خطوة بخطوة

دليل عملي كامل لبناء آلة حاسبة احترافية بلغة Python — من التخطيط إلى التنفيذ، مع واجهة رسومية بـ Tkinter

5 مشاريع Python للمبتدئين — ابنِ أول أعمالك
البرمجة

5 مشاريع Python للمبتدئين — ابنِ أول أعمالك

5 مشاريع Python عملية للمبتدئين مع الكود الكامل والشرح خطوة بخطوة — ابنِ معرض أعمالك الأول وابدأ رحلتك البرمجية