git status

اللقطات الأساسية

عرض حالة ملفات العمل ومنطقة التجهيز


يعرض الأمر 'git status' الملفات التي غيّرتها، والتغييرات المجهَّزة للـ commit التالي، والملفات التي لا يتتبعها Git بعد. لا يغيّر أي شيء أبدًا، لذا يمكنك تشغيله في أي وقت — شغّله قبل كل git add وكل git commit. ويخبرك أيضًا بالفرع الذي تعمل عليه، ومع مستودع بعيد، بمدى تقدّمك أو تأخّرك.

الصيغة

git status [<options>] [--] [<pathspec>...]
[ ] اختياري| أو<arg> قيمة تُستبدل... قابل للتكرار--flag خيار

الخيارات

انقر على أي خيار لتوسيعه

مبتدئ (2)

يعطي المخرجات بالصيغة المختصرة: حرفا حالة لكل ملف (منطقة التجهيز ثم مجلد العمل).

موصى بهعرض مختصر للاستخدام اليومي: حرفا حالة لكل ملف

مثال

git status -s

يعرض الفرع ومعلومات التتبّع، حتى في الصيغة المختصرة.

موصى بهيضيف الفرع وعدّادات التقدّم/التأخّر إلى الصيغة المختصرة

مثال

git status -sb

متوسط (1)

يعطي المخرجات بصيغة ثابتة وسهلة التحليل للسكربتات. تبقى كما هي عبر إصدارات Git والإعدادات.

عند الحاجةصيغة ثابتة مقروءة آليًا للسكربتات

مثال

git status --porcelain

اختيار الخيار المناسب

رموز الصيغة المختصرة

العمودان في git status -s

الأمرالمعنى
?? fileغير متتبَّع: Git لا يعرف الملف
M fileمعدَّل، غير مجهَّز
M fileمعدَّل ومجهَّز
MM fileمجهَّز، ثم عُدِّل مجددًا
A fileملف جديد، مجهَّز
D fileمحذوف، غير مجهَّز

أمثلة

الحالة الكاملة

git status

يسرد التغييرات المجهَّزة وغير المجهَّزة والملفات غير المتتبَّعة، مع تلميحات.


الصيغة المختصرة

git status -s

سطر واحد لكل ملف مع رمز من حرفين.


مختصر مع الفرع

git status -sb

الصيغة المختصرة مع الفرع وعدّادات التقدّم/التأخّر.

أمثلة على سير العمل

1
git status

رؤية ما تغيّر

2
git add app.js

تجهيز الملف المطلوب

3
git status

التحقق من وجوده تحت "Changes to be committed"

4
git commit -m "Add to cart"

Commit

حل المشكلات

ملف لا يظهر في git status

السبب: مذكور في .gitignore، أو لم يتغيّر

تحقّق بـ git check-ignore -v <file>؛ الملفات المتتبَّعة غير المعدَّلة لا تُسرد

git status بطيء في مستودع كبير

السبب: يفحص Git كل ملف في مجلد العمل

اقصره على مجلد: git status src/

نصائح وأخطاء شائعة

أفضل الممارسات

  • ✓شغّل git status قبل git add وقبل git commit.
  • ✓اقرأ التلميحات: يعرض git status الأمر الذي يتراجع عن كل حالة.
  • ✓استخدم git status -sb لعرض مختصر يُظهر الفرع أيضًا.

أخطاء متكررة

  • ✗تنفيذ commit دون التحقق من git status أولًا، وتسجيل ملفات لم تقصدها.
  • ✗الظن بأن ملفًا غير متتبَّع سيدخل في الـ commit — يجب إضافته أولًا.
  • ✗قراءة " M" و"M " كأنهما الشيء نفسه: العمود يحدّد إن كان التغيير مجهَّزًا.

الأسئلة الشائعة

A:

لا. يقرأ فقط ملفاتك ومنطقة التجهيز وآخر commit.

A:

ملفاتك ومنطقة التجهيز وآخر commit متطابقة: لا يوجد ما يُسجَّل.

A:

جهّزته ثم عدّلته مرة أخرى. النسخة المجهَّزة هي ما سيسجّله الـ commit التالي.