Git & GitHub
مقدمة في GitHub — دليل شامل 2026
📅 2026-11-26⏱ 8 دقائق قراءة
في المقال السابق، تعلمت الدمج. الآن سنتعلم **GitHub** — المنصة التي تجعل Git **قوياً حقاً** للعمل الجماعي.
في هذا الدليل العملي، سنأخذك خطوة بخطوة لفهم GitHub، مع تمارين وحلول.
## ما هو GitHub؟
**GitHub** هو **منصة استضافة** لمستودعات Git.
**تشبيه بسيط:**
- **Git:** هو **الأداة** (مثل Word).
- **GitHub:** هو **Google Drive** (مكان لرفع الملفات).
**GitHub يضيف لـ Git:**
- **استضافة سحابية** للمستودعات.
- **التعاون** (Pull Requests).
- **التتبع** (Issues).
- **الأتمتة** (Actions).
- **النشر** (Pages, Actions).
- **المجتمع** (ملايين المطورين).
## لماذا GitHub؟
قبل أن نبدأ، دعنا نتفق على الأسباب:
- **الأكثر شعبية:** 100M+ مطور.
- **محفظة أعمالك:** يعرض مهاراتك.
- **التوظيف:** الشركات تبحث عن مطورين فيها.
- **مفتوح المصدر:** ساهم في مشاريع.
- **مجاني:** للمشاريع العامة والخاصة.
- **مملوك لـ Microsoft:** استقرار وأمان.
## بدائل GitHub
<table>
<thead>
<tr>
<th>المنصة</th>
<th>المميزات</th>
<th>الاستخدام</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>GitHub</strong></td>
<td>الأكثر شعبية</td>
<td>مفتوح المصدر</td>
</tr>
<tr>
<td><strong>GitLab</strong></td>
<td>CI/CD قوي</td>
<td>الشركات</td>
</tr>
<tr>
<td><strong>Bitbucket</strong></td>
<td>مجاني للفرق الصغيرة</td>
<td>Atlassian</td>
</tr>
<tr>
<td><strong>Gitea</strong></td>
<td>مفتوح، استضافة ذاتية</td>
<td>خصوصية</td>
</tr>
</tbody>
</table>
## الجزء الأول: إنشاء حساب GitHub
### 1. التسجيل
1. اذهب إلى: **github.com**
2. اضغط **Sign up**.
3. أدخل:
- **Email** (بريدك).
- **Password** (قوية).
- **Username** (اسم المستخدم).
4. أكمل التحقق (Captcha).
5. اختر **Free Plan**.
### 2. إعداد الملف الشخصي
**اذهب إلى:** `Settings → Public profile`
**أكمل:**
- **Name:** اسمك الكامل.
- **Bio:** نبذة عنك.
- **Location:** مدينتك.
- **Website:** موقعك.
- **Social accounts:** حساباتك.
### 3. اختيار صورة شخصية
اضغط على الصورة الافتراضية، وارفع صورة.
**نصيحة:** استخدم صورة واضحة واحترافية.
## الجزء الثاني: فهم الواجهة
### 1. الصفحة الرئيسية
**`github.com`** بعد تسجيل الدخول:
- **Feed:** أنشطة من تتابعهم.
- **Repositories:** مستودعاتك.
- **Sidebar:** روابط سريعة.
### 2. لوحة التحكم
**`github.com/dashboard`:**
- **Your repositories:** كل مستودعاتك.
- **Recent activity:** آخر أنشطتك.
- **Explore:** مشاريع مقترحة.
### 3. الملف الشخصي
**`github.com/USERNAME`:**
- **Overview:** نظرة عامة.
- **Repositories:** مستودعاتك العامة.
- **Projects:** مشاريعك.
- **Packages:** حزمك.
- **Stars:** مستودعات أعجبتك.
## الجزء الثالث: إنشاء مستودع
### الخطوة 1: من الصفحة الرئيسية
1. اضغط **+** في الأعلى.
2. اختر **New repository**.
### الخطوة 2: املأ المعلومات
- **Repository name:** `my-first-repo`
- **Description:** `مستودعي الأول` (اختياري).
- **Public** أو **Private:**
- **Public:** يراه الجميع (للتعلم).
- **Private:** يراه فقط من تشارك معه.
- **Initialize with README:** ❌ (لأن لديك واحداً محلياً).
### الخطوة 3: اضغط Create repository
## الجزء الرابع: الملفات المهمة
### 1. `README.md`
**ملف الترحيب** الذي يراه الزوار.
```markdown
# اسم المشروع
وصف قصير للمشروع.
## الميزات
- ميزة 1
- ميزة 2
## التثبيت
```bash
npm install
```
## الاستخدام
```bash
npm start
```
## الترخيص
MIT
```
### 2. `LICENSE`
**الترخيص** يحدد كيف يمكن استخدام مشروعك.
**الأشهر:**
- **MIT:** حرية كاملة.
- **Apache 2.0:** حرية مع شروط.
- **GPL:** مشاريع مشتقة مفتوحة.
### 3. `.gitignore`
**الملفات التي لا تُرفع:**
```
node_modules/
.env
dist/
*.log
```
### 4. `CONTRIBUTING.md`
**دليل المساهمة:**
```markdown
# المساهمة
## كيف تساهم؟
1. Fork المستودع
2. أنشئ فرعاً جديداً
3. اكتب الكود
4. ارفع PR
```
### 5. `CODE_OF_CONDUCT.md`
**قواعد السلوك** للمساهمين.
## الجزء الخامس: الميزات الرئيسية
### 1. Issues
**تتبع المهام والأخطاء:**
- **Bug:** خطأ في الكود.
- **Feature:** ميزة جديدة.
- **Question:** استفسار.
**الاستخدام:**
```
العنوان: إصلاح خطأ في تسجيل الدخول
الوصف:
عند تسجيل الدخول ببريد خاطئ، لا تظهر رسالة خطأ.
الخطوات:
1. اذهب لصفحة تسجيل الدخول
2. أدخل بريداً خاطئاً
3. اضغط "دخول"
النتيجة المتوقعة: رسالة "بريد خاطئ"
النتيجة الحالية: لا يحدث شيء
```
### 2. Pull Requests
**للمساهمة في مشروع:**
- **Fork:** نسخة من المستودع.
- **Branch:** فرع في نسختك.
- **PR:** طلب الدمج.
### 3. Actions
**أتمتة المهام:**
- **CI/CD:** اختبار وبناء تلقائي.
- **Deploy:** نشر تلقائي.
- **Notifications:** إشعارات.
### 4. Projects
**لوحات إدارة المشاريع:**
- **Kanban:** To Do, In Progress, Done.
- **Roadmap:** خطة زمنية.
- **Table:** جدول.
### 5. Wiki
**توثيق المشروع.**
### 6. Pages
**استضافة موقع من المستودع:**
- `username.github.io`
- مجاني.
- HTTPS.
### 7. Discussions
**منتدى للنقاش.**
### 8. Sponsors
**دعم مالي للمطورين.**
## جدول ميزات GitHub
<table>
<thead>
<tr>
<th>الميزة</th>
<th>الوصف</th>
<th>الاستخدام</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Repositories</strong></td>
<td>مستودعات</td>
<td>تخزين الكود</td>
</tr>
<tr>
<td><strong>Issues</strong></td>
<td>تتبع المهام</td>
<td>إدارة المشاريع</td>
</tr>
<tr>
<td><strong>Pull Requests</strong></td>
<td>طلبات دمج</td>
<td>المراجعة</td>
</tr>
<tr>
<td><strong>Actions</strong></td>
<td>أتمتة</td>
<td>CI/CD</td>
</tr>
<tr>
<td><strong>Projects</strong></td>
<td>لوحات</td>
<td>إدارة</td>
</tr>
<tr>
<td><strong>Wiki</strong></td>
<td>توثيق</td>
<td>موسوعة</td>
</tr>
<tr>
<td><strong>Pages</strong></td>
<td>استضافة</td>
<td>موقع</td>
</tr>
<tr>
<td><strong>Discussions</strong></td>
<td>نقاش</td>
<td>مجتمع</td>
</tr>
<tr>
<td><strong>Sponsors</strong></td>
<td>دعم</td>
<td>تمويل</td>
</tr>
</tbody>
</table>
## الجزء السادس: البحث في GitHub
### 1. البحث البسيط
في شريط البحث:
```
react tutorial
```
### 2. البحث المتقدم
```
react language:javascript stars:>1000
```
**الفلاتر:**
- `language:` — اللغة.
- `stars:` — النجوم.
- `forks:` — التنسخات.
- `user:` — المستخدم.
- `topic:` — الموضوع.
- `license:` — الترخيص.
### 3. Explore
`github.com/explore` — مشاريع مقترحة.
### 4. Trending
`github.com/trending` — الأكثر رواجاً.
### 5. Topics
`github.com/topics` — مواضيع.
## الجزء السابع: نجوم ومتابعة
### 1. Star (نجمة)
**Star** = "أعجبني".
**الفائدة:**
- تحفظ المستودع في قائمتك.
- تشجع المؤلف.
### 2. Watch (متابعة)
**Watch** = "أريد إشعارات".
**الأنواع:**
- **All Activity:** كل شيء.
- **Participating:** فقط ما تشارك فيه.
- **Releases:** الإصدارات فقط.
- **Ignore:** لا شيء.
### 3. Fork (تنسخ)
**Fork** = نسخة **في حسابك**.
**الفائدة:**
- تجرب التعديلات بحرية.
- تساهم في المشاريع.
## مثال عملي: مستودع كامل
### السيناريو: مشروع "أدواتي"
**1. أنشئ المستودع على GitHub**
- اسم: `my-tools`
- Public
- مع README
**2. استنسخه محلياً**
```bash
git clone https://github.com/USERNAME/my-tools.git
cd my-tools
```
**3. أنشئ ملفات**
```bash
mkdir src docs
echo "# Tools" > README.md
echo "console.log('tools');" > src/index.js
```
**4. ارفع**
```bash
git add .
git commit -m "feat: إعداد المشروع"
git push
```
**5. أضف وصفاً للمستودع**
- اذهب إلى المستودع.
- اضغط ⚙️ بجانب **About**.
- أضف وصفاً + Topics.
**6. أنشئ Issue**
- **Issues → New issue**.
- اكتب المهمة.
**7. حل Issue بـ PR**
- أنشئ فرعاً.
- عدّل.
- ارفع.
- افتح PR.
- ادمج.
**🎉 مشروع احترافي!**
## تحسين ملفك الشخصي
### 1. Profile README
أنشئ مستودعاً باسمك:
```
USERNAME/USERNAME
```
**الملف `README.md`:**
```markdown
# مرحباً، أنا أحمد 👋
## 🚀 مطور ويب
- 💻 أعمل بـ React و Next.js
- 🌱 أتعلم حالياً TypeScript
- 📫 تواصل: [email protected]
## 🛠 المهارات


```
**النتيجة:** يظهر في صفحتك الشخصية!
### 2. Pinned Repositories
- اذهب لملفك.
- اضغط **Customize your pins**.
- اختر 6 مستودعات.
## تمارين عملية
### تمرين 1: إنشاء حساب
أنشئ حساب GitHub وأكمل ملفك.
### تمرين 2: إنشاء مستودع
أنشئ مستودعاً باسم `hello-world`.
**الحل:**
- **+** → **New repository**.
- `hello-world`.
- Public.
- Create.
### تمرين 3: رفع مشروع
ارفع مشروعاً من جهازك.
**الحل:**
```bash
git init
git add .
git commit -m "أول commit"
git remote add origin https://github.com/USER/hello-world.git
git push -u origin main
```
### تمرين 4: README احترافي
اكتب README جيد.
**الحل:** (راجع القالب أعلاه)
### تمرين 5: Topics
أضف Topics لمستودعك.
**الحل:** Settings → Topics → Add: `javascript`, `react`.
### تمرين 6: Issue
أنشئ Issue.
**الحل:**
- Issues → New issue.
- اكتب العنوان والوصف.
- Create.
### تمرين 7: Star
أعجب بمستودعات.
**الحل:** افتح مستودعاً، اضغط ⭐.
### تمرين 8: مشروع كامل
أنشئ مشروعاً، ارفعه، وأضف كل الميزات.
**الحل:** (راجع المثال العملي أعلاه)
## حل المشاكل الشائعة
### 🔴 المشكلة 1: `Permission denied`
**الحل:** أعد إعداد SSH:
```bash
ssh-keygen -t ed25519 -C "email"
# أضف المفتاح لـ GitHub
```
### 🔴 المشكلة 2: `Repository not found`
**الحل:** تأكد من:
- الاسم.
- الصلاحيات.
### 🔴 المشكلة 3: لا يمكن الرفع لـ main
**الحل:** استخدم فرعاً:
```bash
git checkout -b feature
git push -u origin feature
```
### 🔴 المشكلة 4: نسيت كلمة المرور
**الحل:**
- **Settings → Developer settings → Personal access tokens**.
- استخدم Token بدلاً من كلمة المرور.
### 🔴 المشكلة 5: `remote: Support for password authentication was removed`
**الحل:** استخدم Personal Access Token.
## جدول أوامر GitHub
<table>
<thead>
<tr>
<th>الأمر/الإجراء</th>
<th>الوظيفة</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>git clone URL</code></td>
<td>استنساخ</td>
</tr>
<tr>
<td><code>git push</code></td>
<td>رفع</td>
</tr>
<tr>
<td><code>git pull</code></td>
<td>سحب</td>
</tr>
<tr>
<td><code>git remote -v</code></td>
<td>عرض الـ remote</td>
</tr>
<tr>
<td>Star ⭐</td>
<td>إعجاب</td>
</tr>
<tr>
<td>Fork 🍴</td>
<td>تنسخ</td>
</tr>
<tr>
<td>Watch 👁️</td>
<td>متابعة</td>
</tr>
</tbody>
</table>
## قائمة تحقق نهائية
<table>
<thead>
<tr>
<th>المهمة</th>
<th>الحالة</th>
</tr>
</thead>
<tbody>
<tr>
<td>إنشاء حساب GitHub</td>
<td>⬜</td>
</tr>
<tr>
<td>إكمال الملف الشخصي</td>
<td>⬜</td>
</tr>
<tr>
<td>إنشاء مستودع</td>
<td>⬜</td>
</tr>
<tr>
<td>رفع مشروع</td>
<td>⬜</td>
</tr>
<tr>
<td>README احترافي</td>
<td>⬜</td>
</tr>
<tr>
<td>إنشاء Issue</td>
<td>⬜</td>
</tr>
<tr>
<td>حل التمارين الثمانية</td>
<td>⬜</td>
</tr>
</tbody>
</table>
## ماذا بعد هذا المقال؟
الآن بعد أن أتقنت GitHub، أنت جاهز للمقال التالي:
1. **Pull Requests** — العمل الجماعي.
2. **حل التعارضات** — Conflict Resolution.
3. **Workflow احترافي**.
## الخلاصة
في هذا المقال، تعلمت:
- ✅ ما هو GitHub.
- ✅ إنشاء الحساب.
- ✅ الواجهة.
- ✅ إنشاء المستودعات.
- ✅ الملفات المهمة.
- ✅ الميزات الرئيسية.
- ✅ البحث والاستكشاف.
- ✅ تحسين الملف الشخصي.
- ✅ حل 8 تمارين عملية.
**تذكر:** GitHub هو **محفظة أعمالك** — اجعله احترافياً.