العودة إلى القاموس
DevOps وCI/CD

Pre-commit Hooks

نصوص برمجية تعمل تلقائياً قبل إنشاء commit في git، تُستخدم لفرض معايير جودة الكود، تشغيل أدوات التنسيق، ومنع commit الكود المشكل.

التعريف

Pre-commit hooks هي جزء من نظام hooks في Git (.git/hooks/pre-commit). يمكنها حظر commits التي تفشل في الفحوصات. الاستخدامات الشائعة: تشغيل أدوات التنسيق (ESLint، Prettier)، التحقق من الأسرار، تشغيل اختبارات الوحدة، وفرض تنسيقات رسائل commit. أدوات مثل Husky (Node.js) وpre-commit (Python) وLefthook تسهل إدارة الـ hooks.

لماذا هو مهم

Pre-commit hooks تحول فحوصات الجودة إلى اليسار، التقاط المشاكل قبل commit الكود أو دفعه. هذا يوفر ردود فعل فورية للمطورين ويمنع تلويث تاريخ git بـ commits "إصلاح التنسيق". تكمل (لكن لا تحل محل) فحوصات CI.

مثال

يحاول مطور عمل commit لكود مع عبارات console.log. يشغل pre-commit hook أداة ESLint التي تكتشف انتهاك no-console وتحظر الـ commit مع رسالة خطأ توضح ما يحتاج للإصلاح.

المصطلحات ذات الصلة

pre-commit hooksgit hookshuskypre-commitlint-staged

أتمتة مراجعة الكود مع diffray

نظام ذكاء اصطناعي متعدد الوكلاء لمراجعة الكود. يجد الأخطاء والثغرات الأمنية ومشاكل البنية تلقائياً.