Git & GitHub📅 2026-11-22⏱ 8 دقائق قراءة🔧 مقال 2 من 10

أول مستودع Git لك — من التهيئة إلى الرفع 2026

دليل عملي مفصل لإنشاء أول مستودع Git — git init، إضافة الملفات، أول commit، والرفع إلى GitHub

في المقال السابق، قمنا بتثبيت Git وإعداده. الآن سننشئ أول مستودع (Repository) ونرفعه إلى GitHub.

في هذا الدليل العملي، سنأخذك خطوة بخطوة من git init إلى git push، مع تمارين وحلول.

ما هو المستودع (Repository)؟

المستودع هو مجلد يحتوي على:

  • الملفات (الكود).
  • مجلد .git (تاريخ كل التغييرات).
  • الفروع (Branches).

أنواع المستودعات:

النوعالوصفالمكان
Local Repositoryمستودع محليعلى جهازك
Remote Repositoryمستودع بعيدعلى GitHub

دورة حياة Git

المنطقةالوصف
Working Directoryمجلد المشروع
Staging Areaالمنطقة المؤقتة (بعد git add)
Local Repositoryالمستودع المحلي (بعد git commit)
Remote Repositoryالمستودع البعيد (بعد git push)

الجزء الأول: إنشاء مستودع محلي

الخطوة 1: إنشاء مجلد المشروع

mkdir my-first-project
cd my-first-project

الخطوة 2: تهيئة Git

git init

النتيجة:

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

ما حدث: Git أنشأ مجلد .git مخفي يحتوي على كل بيانات المستودع.

⚠️ مهم: لا تحذف مجلد .git، ولا تعدّل فيه يدوياً.

الخطوة 3: التحقق من الحالة

git status

النتيجة:

On branch main

No commits yet

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

الجزء الثاني: إضافة الملفات

الخطوة 1: إنشاء ملف

أنشئ ملف README.md:

# مشروعي الأول

هذا أول مستودع Git لي!

## الميزات
- تتبع التغييرات
- العمل الجماعي
- الرجوع لأي نسخة

احفظ الملف.

الخطوة 2: عرض الحالة

git status

النتيجة:

On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md

nothing added to commit but untracked files present

التفسير: README.md هو Untracked — Git يراه لكنه لا يتتبعه بعد.

الخطوة 3: إضافة الملف

git add README.md

أو إضافة كل الملفات:

git add .

الخطوة 4: عرض الحالة مرة أخرى

git status

النتيجة:

On branch main

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

التفسير: الملف الآن في Staging Area — جاهز للـ Commit.

الجزء الثالث: أول Commit

الخطوة 1: إنشاء Commit

git commit -m "أول commit: إضافة README"

النتيجة:

[main (root-commit) abc1234] أول commit: إضافة README
 1 file changed, 7 insertions(+)
 create mode 100644 README.md

🎉 مبروك! أنشأت أول Commit!

الخطوة 2: عرض السجل

git log

النتيجة:

commit abc1234def5678...
Author: Ahmed Mohammed <[email protected]>
Date:   Fri Nov 22 10:30:00 2026 +0300

    أول commit: إضافة README

الخطوة 3: عرض السجل بشكل مختصر

git log --oneline

النتيجة:

abc1234 أول commit: إضافة README

الجزء الرابع: إضافة المزيد من التغييرات

الخطوة 1: عدّل README.md

أضف سطراً جديداً:

# مشروعي الأول

هذا أول مستودع Git لي!

## الميزات
- تتبع التغييرات
- العمل الجماعي
- الرجوع لأي نسخة

## التثبيت
```bash
git clone https://github.com/username/my-first-project.git

### الخطوة 2: عرض التغييرات

```bash
git diff

النتيجة: عرض الأسطر المضافة (بالأخضر) والمحذوفة (بالأحمر).

الخطوة 3: عرض الحالة

git status

النتيجة:

On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
        modified:   README.md

الخطوة 4: إضافة وإنشاء Commit

git add .
git commit -m "إضافة قسم التثبيت"

النتيجة:

[main def5678] إضافة قسم التثبيت
 1 file changed, 5 insertions(+)

الخطوة 5: عرض السجل

git log --oneline

النتيجة:

def5678 إضافة قسم التثبيت
abc1234 أول commit: إضافة README

🎉 الآن لديك تاريخ من التغييرات!

الجزء الخامس: إنشاء مستودع على GitHub

الخطوة 1: اذهب إلى GitHub

  1. افتح github.com.
  2. اضغط + في الأعلى → New repository.

الخطوة 2: املأ المعلومات

  • Repository name: my-first-project
  • Description: مشروعي الأول
  • Public أو Private (اختر Public للمشاريع المفتوحة).
  • ⚠️ مهم: لا تختر "Initialize with README" (لأنك لديك README محلي).

الخطوة 3: اضغط Create repository

النتيجة: سترى صفحة بها أوامر Git.

الجزء السادس: ربط المستودع المحلي بـ GitHub

الخطوة 1: إضافة Remote

git remote add origin https://github.com/USERNAME/my-first-project.git

⚠️ استبدل USERNAME باسمك على GitHub.

الخطوة 2: التحقق

git remote -v

النتيجة:

origin  https://github.com/USERNAME/my-first-project.git (fetch)
origin  https://github.com/USERNAME/my-first-project.git (push)

الخطوة 3: رفع الكود

git push -u origin main

النتيجة:

Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
...
To https://github.com/USERNAME/my-first-project.git
 * [new branch]      main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

🎉 مبروك! رفعت مشروعك إلى GitHub!

الخطوة 4: تحقق على GitHub

اذهب إلى:

https://github.com/USERNAME/my-first-project

يجب أن ترى: ملف README.md ومحتواه.

الجزء السابع: دورة العمل اليومية

1. عدّل الكود

2. أضف الملفات

git add .

3. أنشئ Commit

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

4. ارفع

git push

هذا كل شيء! كرّر هذه الخطوات.

ملف .gitignore

⚠️ مهم: بعض الملفات لا يجب رفعها لـ Git:

  • node_modules/
  • .env
  • ملفات النظام (.DS_Store).
  • ملفات البناء (dist/, build/).

أنشئ .gitignore:

# Dependencies
node_modules/

# Environment
.env
.env.local

# Build
dist/
build/
.next/
out/

# Logs
*.log
npm-debug.log*

# OS
.DS_Store
Thumbs.db

# IDE
.vscode/
.idea/

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

الأمرالوظيفة
git initتهيئة مستودع
git statusعرض الحالة
git add .إضافة كل الملفات
git add file.txtإضافة ملف محدد
git commit -m "msg"إنشاء commit
git logعرض السجل
git log --onelineالسجل المختصر
git diffعرض التغييرات
git remote add origin URLربط بمستودع بعيد
git push -u origin mainأول رفع
git pushرفع التغييرات
git pullجلب التحديثات

تمارين عملية

تمرين 1: مستودع جديد

أنشئ مستودعاً جديداً مع ملف index.html.

الحل:

mkdir my-website
cd my-website
git init
echo "<h1>مرحباً</h1>" > index.html
git add .
git commit -m "أول commit"

تمرين 2: إضافة ملفات متعددة

أضف 3 ملفات في commit واحد.

الحل:

echo "ملف 1" > file1.txt
echo "ملف 2" > file2.txt
echo "ملف 3" > file3.txt
git add .
git commit -m "إضافة 3 ملفات"

تمرين 3: عرض السجل

اعرض تاريخ المشروع.

الحل:

git log --oneline

تمرين 4: تعديل ملف

عدّل ملف وأنشئ commit.

الحل:

echo "سطر جديد" >> README.md
git add README.md
git commit -m "تحديث README"

تمرين 5: رفع إلى GitHub

ارفع المشروع.

الحل:

git remote add origin https://github.com/USERNAME/REPO.git
git push -u origin main

تمرين 6: .gitignore

أنشئ .gitignore لاستبعاد node_modules.

الحل:

echo "node_modules/" > .gitignore
git add .gitignore
git commit -m "إضافة .gitignore"

تمرين 7: استنساخ مستودع

استنسخ مستودعاً موجوداً.

الحل:

git clone https://github.com/USERNAME/REPO.git

تمرين 8: مشروع كامل

أنشئ مشروعاً، ارفعه إلى GitHub، وعدّله.

الحل: (راجع الأمثلة أعلاه)

حل المشاكل الشائعة

🔴 المشكلة 1: src refspec main does not match any

السبب: لم تُنشئ commit بعد.

الحل:

git add .
git commit -m "أول commit"
git push -u origin main

🔴 المشكلة 2: remote origin already exists

الحل:

git remote remove origin
git remote add origin https://github.com/USERNAME/REPO.git

🔴 المشكلة 3: Permission denied

الحل: تأكد من SSH أو استخدام Personal Access Token.

🔴 المشكلة 4: failed to push some refs

الحل:

git pull origin main --rebase
git push

🔴 المشكلة 5: نسيت -m في commit

النتيجة: سيفتح محرر. اكتب الرسالة، احفظ، وأغلق.

جدول حالات الملفات

الحالةالمعنىالأمر
Untrackedملف جديد لم يُضفgit add
Modifiedملف معدّلgit add
Stagedملف جاهز للـ commitgit commit
Committedملف محفوظgit push

قائمة تحقق نهائية

المهمةالحالة
إنشاء مستودع محلي⬜
إضافة الملفات⬜
إنشاء أول Commit⬜
عرض السجل⬜
إنشاء مستودع على GitHub⬜
ربط Local بـ Remote⬜
رفع الكود⬜
حل التمارين الثمانية⬜

ماذا بعد هذا المقال؟

الآن بعد أن أنشأت أول مستودع، أنت جاهز للمقال التالي:

  1. الـ Commits — كيف تكتب commits احترافية.
  2. الفروع (Branches) — العمل على ميزات متعددة.
  3. الدمج (Merge) — دمج الفروع.

الخلاصة

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

  • ✅ ما هو المستودع.
  • ✅ git init لإنشاء مستودع.
  • ✅ git add لإضافة الملفات.
  • ✅ git commit لحفظ التغييرات.
  • ✅ git log لعرض السجل.
  • ✅ ربط Local بـ Remote.
  • ✅ git push للرفع.
  • ✅ .gitignore لاستبعاد الملفات.
  • ✅ حل 8 تمارين عملية.

تذكر: Git هو المهارة الأولى لكل مطور. أتقنه جيداً.

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

Git & GitHub

مشروع Git متكامل — تعاون على مستودع احترافي 2026

مشروع عملي شامل للتعاون على مستودع Git — فروع، PRs، مراجعة، CI/CD، وإصدارات

Git & GitHub

Git Workflow احترافي — دليل شامل 2026

دليل عملي مفصل لـ Git Workflow الاحترافي — Git Flow، GitHub Flow، Trunk-based، وأفضل الممارسات

Git & GitHub

حل التعارضات في Git — دليل شامل 2026

دليل عملي مفصل لحل التعارضات في Git — أنواع التعارضات، الأخطاء الشائعة، وأدوات المساعدة