📘 معجم Git – Glossary كامل
Git
Git هو نظام موزّع لإدارة الإصدارات (Distributed Version Control System) يُستخدم لتتبع التغييرات في الكود البرمجي والعمل الجماعي بين المطورين.
Repository (مستودع)
Repository هو المكان الذي يحتوي على ملفات المشروع وسجل جميع التغييرات (Commits).
يمكن أن يكون:
- محلي (Local)
- بعيد (Remote)
Local Repository
Local Repository هو المستودع الموجود على جهازك المحلي.
Remote Repository
Remote Repository هو مستودع Git موجود على خادم بعيد مثل GitHub أو GitLab.
Commit
Commit هو عملية حفظ التغييرات في المستودع مع رسالة توضح ما الذي تغير.
git commit -m "Add login feature"
Commit Message
Commit Message هي الرسالة التي تصف التغييرات التي يحتويها الـ Commit، ويُفضل أن تكون واضحة ومختصرة.
Branch (فرع)
Branch هو مسار مستقل من الكود يسمح بالعمل على ميزة أو إصلاح دون التأثير على الفرع الرئيسي.
Main
Main هو الفرع الرئيسي الذي يحتوي عادةً على النسخة المستقرة من المشروع.
Master
Master هو الاسم القديم للفرع الرئيسي في Git، وتم استبداله غالبًا بـ Main.
HEAD
HEAD يشير إلى الفرع أو الـ Commit الحالي الذي تعمل عليه.
Merge
Merge هي عملية دمج التغييرات من فرع إلى فرع آخر.
git merge feature-login
Merge Conflict
Merge Conflict يحدث عندما لا يستطيع Git دمج التغييرات تلقائيًا بسبب تعارض في نفس الملف.
Clone
Clone هي عملية نسخ مستودع كامل من مستودع بعيد إلى جهازك المحلي.
git clone https://repo-url
Fork
Fork هو إنشاء نسخة من مستودع شخص آخر في حسابك الخاص (يُستخدم غالبًا في GitHub).
Pull
Pull يقوم بجلب التحديثات من المستودع البعيد ودمجها مع الفرع الحالي.
git pull
Push
Push يُستخدم لإرسال الـ Commits المحلية إلى المستودع البعيد.
git push
Fetch
Fetch يجلب التحديثات من المستودع البعيد دون دمجها تلقائيًا.
git fetch
Staging Area
Staging Area هي منطقة وسيطة يتم فيها تحديد الملفات التي ستُضاف إلى الـ Commit القادم.
git add
أمر git add يُستخدم لإضافة الملفات إلى منطقة الـ Staging.
git add file.txt
git status
يعرض حالة الملفات في المستودع (معدلة، مضافة، أو غير متتبعة).
git log
يعرض سجل الـ Commits السابقة مع معلومات مثل المؤلف والتاريخ.
git diff
يعرض الفروقات بين الملفات المعدلة والنسخة السابقة.
git reset
يُستخدم لإلغاء تغييرات أو إعادة الملفات من الـ Staging.
git reset file.txt
git revert
ينشئ Commit جديد لإلغاء تأثير Commit سابق بدون حذف السجل.
git checkout
يُستخدم للتنقل بين الفروع أو استعادة ملف من Commit سابق.
git switch
بديل حديث لـ checkout للتنقل بين الفروع.
git restore
يُستخدم لاستعادة الملفات إلى حالتها السابقة.
Untracked File
Untracked File هو ملف موجود في المشروع لكن Git لا يتتبعه بعد.
Tracked File
Tracked File هو ملف يتتبعه Git وتُسجل تغيراته.
.gitignore
ملف يُستخدم لتحديد الملفات أو المجلدات التي يجب على Git تجاهلها.
Tag
Tag هو علامة تُستخدم لتحديد نقطة مهمة في تاريخ المشروع (مثل إصدار).
Rebase
Rebase هو طريقة لدمج التغييرات بإعادة ترتيب سجل الـ Commits.
Stash
Stash يُستخدم لحفظ التغييرات مؤقتًا بدون Commit.
git stash
Upstream
Upstream يشير إلى المستودع الأصلي الذي تم عمل Fork منه.
Origin
Origin هو الاسم الافتراضي للمستودع البعيد.
Bare Repository
Bare Repository هو مستودع بدون ملفات عمل (Working Directory)، يُستخدم غالبًا على الخوادم.
Working Directory
Working Directory هو مجلد المشروع الذي تعمل فيه على الملفات فعليًا.
Clean Working Tree
تعني أن لا توجد تغييرات غير محفوظة في المستودع.
Detached HEAD
حالة يكون فيها HEAD غير مرتبط بأي فرع.
Fast-Forward Merge
نوع من الدمج لا ينشئ Commit جديد.
Squash
Squash يجمع عدة Commits في Commit واحد.
Blame
git blame يعرض من قام بتعديل كل سطر في ملف معين.
« Back to Glossary Index