Git

« Back to Glossary Index

📘 معجم 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