تجاوز إلى المحتوى
العربية
المستوى 8: Git على طريقة Claude
الدرس 3 · +10 XP

الـ commit message

كلّ commit يحمل ملاحظة قصيرة — الـ commit message. في الدرس 4.6 كنت في الطرف القارئ لهذه الرسائل، تسأل Claude عمّا كانت من أجله التغييرات الماضية. والآن أنت في طرف الكتابة: تترك الملاحظة التي ستقرؤها أنت في المستقبل.

الرسالة تشرح لماذا حدث التغيير. أمّا الـ diff فيُظهر بالفعل ماذا تغيّر.

ذلك الفصل هو كلّ شيء. الـ diff — الأسطر الدقيقة المُضافة والمُزالة — هو الـ”ماذا”. يستطيع أيّ أحد رؤيته. أمّا ما لا يستطيع الـ diff أن يخبرك به فهو السبب: الـ bug الذي يصلحه، والقرار الكامن خلفه، والشيء الذي قد يستغرق إعادةُ بنائه فترة بعد ظهر كاملة لولاه. تلك مهمة الرسالة.

رسالة جيّدة، رسالة سيّئة

الرسائل السيّئة صادقة وعديمة الفائدة:

fixes
update
stuff

كلّها دقيقة. ولا واحدة منها تساعد الشخص (غالبًا أنت) الذي يحدّق في هذا الـ commit بعد ثلاثة أشهر متسائلًا ماذا حدث.

أمّا الرسالة الجيّدة فتُثبت جدارتها بنظرة واحدة:

Fix login crash when the email has a trailing space

الآن تعرف أنت في المستقبل ماذا انكسر ولماذا وُجد هذا الـ commit، دون فتح ملف واحد. تلك هي “رسالة الحبّ إلى المستقبل” من الدرس 4.6 — وهنا تكتبها فعلًا.

على طريقة Claude — والمأخذ الوحيد

إليك الخبر السار: يكتب Claude رسائل commit ممتازة حقًا. يقرأ الـ diff ويلخّص النيّة أفضل مما يكلّف معظم الناس أنفسهم عناءه. تقول “اعمل commit لهذا،” فتحصل على رسالة واضحة جيّدة الصياغة مجانًا.

أمّا مهمتك فتتقلّص إلى شيء واحد: تأكّد من أنها صادقة ومحصورة في نطاقها.

يصف Claude ما يراه في الـ diff. لذا إن كان الـ commit قد جرف معه عرَضًا تغييرات غير مرتبطة — الشيء ذاته الذي حذّر منه الدرس 8.2 — فإن الرسالة إمّا أن تصف تلك أيضًا، أو تتجاوزها بهدوء. الرسالة التي تقول “إصلاح bug تسجيل الدخول” وهي جالسة فوق commit أعاد أيضًا تسمية اثني عشر ملفًا ليست كاذبة عن قصد. لكنها كاذبة. اقرأها قبل أن تقبلها.

ما التالي

تستطيع صنع commits نظيفة جيّدة الوسم. لكن إلى أين تذهب؟ وكيف تجرّب تغييرًا محفوفًا بالمخاطر دون أن تكسر النسخة التي يعتمد عليها الجميع؟ لهذا وُجدت الـ branches. التالي.