معرفة حالة المستودع في Git

  • مفهوم حالة المستودع
  • حالات الملفات بالنسبة للمستودع
  • التحقق من حالة المستودع
  • تطبيق عملي و شامل لكل ما تعلمته

مفهوم حالة المستودع

حالة المستودع ( Repository Status ) تعني الوضع الحالي لملفات المشروع داخل المستودع الخاص به، أي كيف يرى Git هذه الملفات مقارنةً بآخر نسخة محفوظة ( Commit ). أي هل يراها كملفات جديدة لم يتم تعقبها بعد، أم تعديلات بانتظار إضافتها لمنطقة التحضير، أم تغييرات جاهزة ليتم تسجيلها في النسخة التالية التي يتم إنشاؤها للمشروع.

فهم حالة المستودع هي خطوة أساسية لتجنب فقدان البيانات أو حفظ ملفات غير مرغوب فيها، مما يضمن استمراراً منظماً و سليماً لعملية التطوير.

حالات الملفات بالنسبة للمستودع

ملفات المشروع تمر بالحالات التالية تباعاً من لحظة إنشاءها إلى لحظة إضافتها في المستودع.

الحالة معناها
Untracked هي الملفات غير المٌتعقّبة.
أي ملفات جديدة أضفتها للمشروع و لكن Git لا يعرف عنها شيئاً بعد.
Modified هي الملفات المعدّلة.
أي ملفات موجودة مسبقاً في Git قمت بإجراء تغييرات عليها و لكنك لم تحفظها بعد.
Staged هي الملفات المهيئة للحفظ.
أي ملفات قمت بتجهيزها عبر الأمر git add لتكون جزءاً من النسخة القادمة ( Commit ) التي سيتم حفظها.
Committed هي الملفات المحفوظة مسبقاً.
أي ملفات سبق و تم تخزينها في قاعدة بيانات Git المحلية.

إحفظ جيداً معاني هذه المصطلحات لأنها ستمر معك طوال الوقت حين تتعامل مع Git.

التحقق من حالة المستودع

لعرض حالة المستودع يمكنك استعمال الأمر git status. هذا الأمر يخبرك بكل شيء متعلق بالمستودع مثل الفَرع ( Branch ) الذي تعمل عليه، الملفات التي تحتاج لإضافة، و الملفات الجاهزة للتسجيل.

إذا لم يكن مشروعك يحتوي مسبقاً على مستودع .git و قمت باستعمال هذا الأمر فإنه سيظهر لك خطأ.

تطبيق عملي و شامل لكل ما تعلمته

سنفترض أنه لديك مشروع يتكون من مجلّد فارغ إسمه demo فقط.
الآن، إفتح موجّه الأوامر و توجه إلى المجلد demo لتبدأ التجربة عليه.


1- فيما يلي قمنا باستخدام الأمر git init لإنشاء مستودع .git بداخل مجلد المشروع demo.

Terminal

> git init

2- فيما يلي قمنا باستخدام الأمر git status لعرض حالة المستودع .git الخاص بالمشروع demo.

Terminal

> git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)

حين عرضنا حالة المستودع، علمنا ما يلي:

  • إسم الفرع الخاص بالمستودع هو master و هذا الإسم الإفتراضي الذي يختاره Git كإسم أول فرع للمشروع.
  • لا يوجد أي نسخ محفوظة بعد من المشروع.
  • لا يوجد أي شيء ليتم إضافته في النسخة التالية التي يتم إنشاؤها من المشروع.

في الدرس التالي، سنضيف ملفات بداخل المشروع و من ثم سنضيفها في مستودعه و سنراقب حالته قبل و بعد إضافتها لنفهم كيف نقرأ المعلومات التي يعطيها لنا.