تخطَّ إلى المحتوى

git commit

حفظ لقطة من المشروع git commit

git commit يحفظ كل ما في منطقة التجهيز كنقطة دائمة في تاريخ المشروع، برسالة توضّح ماذا ولماذا.

الـ commit هو الوحدة الأساسية في تاريخ Git — لقطة كاملة (snapshot) لحالة مشروعك في لحظة معيّنة، مرتبطة بالـ commit الذي قبلها لتكوّن سلسلة تاريخية متصلة. كل commit له معرّف فريد (hash) ورسالة تشرح التغيير.

رسالة الـ commit الجيّدة تصف *لماذا* حدث التغيير لا فقط *ماذا* تغيّر — الكود نفسه يوضّح الـ 'ماذا'، لكن السبب وراء القرار غالبًا يضيع إن لم تُكتب.

الصياغة

git commit -m "رسالة الـ commit"

📄 مثال

git add .
git commit -m "feat: إضافة صفحة تسجيل الدخول"

# تعديل آخر commit (قبل الرفع فقط)
git commit --amend -m "رسالة أدق"

# تجهيز وحفظ الملفّات المُتتبَّعة مسبقًا بخطوة واحدة
git commit -am "fix: إصلاح خطأ الحساب"

أهم الخيارات

الخيارالوظيفة
-m "..."يكتب رسالة الـ commit مباشرة في الأمر بدل فتح محرّر
-aيجهّز تلقائيًا كل الملفّات المُتتبَّعة مسبقًا قبل الحفظ (لا يشمل ملفّات جديدة)
--amendيعدّل آخر commit بدل إنشاء واحد جديد — لرسالة أو تعديل بسيط نسيته

💡 نصائح عملية

  • اجعل كل commit يفعل شيئًا واحدًا منطقيًا — أسهل بكثير للمراجعة والتراجع لاحقًا عند الحاجة
  • لا تستخدم --amend بعد push لفرع مشترك — يغيّر الـ hash ويربك من سحب النسخة القديمة

⚠️ أخطاء شائعة

  • كتابة رسائل غامضة مثل 'تحديث' أو 'إصلاح' دون توضيح ماذا أو لماذا
  • نسيان git add قبل commit، فيظهر خطأ 'nothing added to commit' أو يُحفظ أقل مما توقّعت

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار GIT الكامل بالعربي.