git status
عرض حالة ملفات العمل ومنطقة التجهيز
يعرض الأمر 'git status' الملفات التي غيّرتها، والتغييرات المجهَّزة للـ commit التالي، والملفات التي لا يتتبعها Git بعد. لا يغيّر أي شيء أبدًا، لذا يمكنك تشغيله في أي وقت — شغّله قبل كل git add وكل git commit. ويخبرك أيضًا بالفرع الذي تعمل عليه، ومع مستودع بعيد، بمدى تقدّمك أو تأخّرك.
الصيغة
git status [<options>] [--] [<pathspec>...]الخيارات
اختيار الخيار المناسب
رموز الصيغة المختصرة
العمودان في git status -s
| الأمر | المعنى |
|---|---|
?? file | غير متتبَّع: Git لا يعرف الملف |
M file | معدَّل، غير مجهَّز |
M file | معدَّل ومجهَّز |
MM file | مجهَّز، ثم عُدِّل مجددًا |
A file | ملف جديد، مجهَّز |
D file | محذوف، غير مجهَّز |
أمثلة
الحالة الكاملة
git statusيسرد التغييرات المجهَّزة وغير المجهَّزة والملفات غير المتتبَّعة، مع تلميحات.
الصيغة المختصرة
git status -sسطر واحد لكل ملف مع رمز من حرفين.
مختصر مع الفرع
git status -sbالصيغة المختصرة مع الفرع وعدّادات التقدّم/التأخّر.
أمثلة على سير العمل
git statusرؤية ما تغيّر
git add app.jsتجهيز الملف المطلوب
git statusالتحقق من وجوده تحت "Changes to be committed"
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 " كأنهما الشيء نفسه: العمود يحدّد إن كان التغيير مجهَّزًا.
الأسئلة الشائعة
لا. يقرأ فقط ملفاتك ومنطقة التجهيز وآخر commit.
ملفاتك ومنطقة التجهيز وآخر commit متطابقة: لا يوجد ما يُسجَّل.
جهّزته ثم عدّلته مرة أخرى. النسخة المجهَّزة هي ما سيسجّله الـ commit التالي.