
فهم الأمر git commit -a في Git (دليل سهل للمبتدئين)
فهم الأمر git commit -a في Git (دليل سهل للمبتدئين)
إذا كنت تستخدم Git بشكل منتظم، فمن المحتمل أنك رأيت أو سمعت عن الأمر:
git commit -a
قد يبدو مربكًا في البداية، ولكن بمجرد فهمه، يمكن لهذا الأمر أن يوفّر الوقت ويُسرّع سير العمل. في هذا المقال، سنشرحه بأسلوب بسيط مع أمثلة واقعية وأفضل الممارسات.
ما هو git commit -a؟
الخيار -a يعني "الكل".
عند تشغيل:
git commit -a -m "Your message"
سيقوم Git بـ:
- إضافة جميع الملفات المعدلة تلقائيًا إلى مرحلة الإعداد
- إضافة الملفات المحذوفة تلقائيًا
- إنشاء التزام (commit) في خطوة واحدة
👉 يمكن اعتباره اختصارًا لـ:
git add <all tracked files> git commit
قاعدة مهمة (مهمة جدًا 🚨)
الأمر
git commit -aيعمل فقط مع الملفات التي يتتبعها Git مسبقًا.
يشمل:
- الملفات المعدلة
- الملفات المحذوفة
لا يشمل:
- الملفات الجديدة (غير المتتبعة)
- الملفات المتجاهلة
مثال بسيط (للمبتدئين)
الخطوة 1: تعديل ملف
README.md (edited)
الخطوة 2: التحقق من الحالة
git status
الناتج:
modified: README.md
الخطوة 3: الالتزام باستخدام -a
git commit -a -m "Update README content"
✅ تم! لا حاجة لتشغيل git add.
مثال مع ملف جديد (خطأ شائع)
touch new_feature.dart git commit -a -m "Add new feature"
❌ لن يعمل هذا
والسبب أن new_feature.dart غير متتبع.
الطريقة الصحيحة:
git add new_feature.dart git commit -m "Add new feature"
حالة استخدام واقعية 💼
سيناريو: إصلاح سريع لخطأ
قمت بإصلاح:
- مشكلة في تباعد الواجهة
- خطأ إملائي في النص
- حذف ملف غير مستخدم
جميع الملفات متتبعة مسبقًا.
بدلًا من:
git add . git commit -m "Fix UI issues"
يمكنك ببساطة تنفيذ:
git commit -a -m "Fix UI issues"
✔ أسرع ✔ أنظف ✔ أكثر كفاءة
git commit -a مقابل الالتزام العادي
المسار التقليدي
git add . git commit -m "Fix bug"
باستخدام -a
git commit -a -m "Fix bug"
| الميزة | git commit -a |
|---|---|
| إضافة الملفات المعدلة | ✅ |
| إضافة الملفات المحذوفة | ✅ |
| إضافة ملفات جديدة | ❌ |
| سير عمل أسرع | ✅ |
| تحكم انتقائي | ❌ |
متى يجب استخدام git commit -a؟
استخدمه عندما:
- تكون التغييرات صغيرة
- يجب أن تذهب كل التغييرات في التزام واحد
- تكون واثقًا من تعديلاتك
- الملفات متتبعة بالفعل
متى لا يجب استخدامه
تجنب git commit -a عندما:
- تريد الالتزام بملفات محددة فقط
- تعمل على ميزات كبيرة
- لديك تغييرات تجريبية أو غير مكتملة
- تحتاج تحكمًا دقيقًا في الإعداد
نصيحة أفضل ممارسة 💡
شغّل دائمًا:
git status
قبل:
git commit -a
هذا يمنع الالتزامات غير المقصودة.
نصيحة احترافية (بدون -m)
يمكنك كتابة رسالة التزام مفصلة:
git commit -a
سيتم فتح المحرر لاتباع معايير رسائل الالتزام الصحيحة.