أول مستودع 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
- افتح github.com.
- اضغط + في الأعلى → 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 | ملف جاهز للـ commit | git commit |
| Committed | ملف محفوظ | git push |
قائمة تحقق نهائية
| المهمة | الحالة |
|---|---|
| إنشاء مستودع محلي | ⬜ |
| إضافة الملفات | ⬜ |
| إنشاء أول Commit | ⬜ |
| عرض السجل | ⬜ |
| إنشاء مستودع على GitHub | ⬜ |
| ربط Local بـ Remote | ⬜ |
| رفع الكود | ⬜ |
| حل التمارين الثمانية | ⬜ |
ماذا بعد هذا المقال؟
الآن بعد أن أنشأت أول مستودع، أنت جاهز للمقال التالي:
- الـ Commits — كيف تكتب commits احترافية.
- الفروع (Branches) — العمل على ميزات متعددة.
- الدمج (Merge) — دمج الفروع.
الخلاصة
في هذا المقال، تعلمت:
- ✅ ما هو المستودع.
- ✅
git initلإنشاء مستودع. - ✅
git addلإضافة الملفات. - ✅
git commitلحفظ التغييرات. - ✅
git logلعرض السجل. - ✅ ربط Local بـ Remote.
- ✅
git pushللرفع. - ✅
.gitignoreلاستبعاد الملفات. - ✅ حل 8 تمارين عملية.
تذكر: Git هو المهارة الأولى لكل مطور. أتقنه جيداً.
كيف تثبت Git — دليل إعداد البيئة 2026
الـ Commits في Git — دليل شامل 2026
📚 مقالات ذات صلة
مشروع Git متكامل — تعاون على مستودع احترافي 2026
مشروع عملي شامل للتعاون على مستودع Git — فروع، PRs، مراجعة، CI/CD، وإصدارات
Git Workflow احترافي — دليل شامل 2026
دليل عملي مفصل لـ Git Workflow الاحترافي — Git Flow، GitHub Flow، Trunk-based، وأفضل الممارسات
حل التعارضات في Git — دليل شامل 2026
دليل عملي مفصل لحل التعارضات في Git — أنواع التعارضات، الأخطاء الشائعة، وأدوات المساعدة