0 تصويتات
منذ في تصنيف البرمجة بواسطة مجهول
كيف تستخدم Git Hooks؟

1 إجابة واحدة

0 تصويتات
منذ بواسطة admin6 (574ألف نقاط)

ما هي Git Hooks وكيف تستخدمها؟

تُستخدم Git Hooks كأداة قوية لتنفيذ مهام معينة تلقائيًا في مراحل مختلفة من سير العمل مع Git، مثل قبل تنفيذ أمر commit أو بعد إنجاز push. ببساطة، Git Hooks هي سكربتات يتم وضعها داخل مجلد Git المحلي تُنَفَّذ بناءً على أحداث محددة تحدث أثناء استخدام Git. تساعد هذه الأدوات في أتمتة عمليات التحقق، البناء، أو أي إجراءات أخرى قبل أو بعد تغييرات معينة على المستودع.

أنواع Git Hooks

يوفر Git مجموعة من الـ Hooks المدمجة التي تتصرف في نقاط مختلفة، مثل:


  • pre-commit: يتم تنفيذها قبل تسجيل التغييرات (commit). مثلاً، يمكن استخدامها لتشغيل اختبارات تلقائية أو التحقق من تنسيق الكود.
  • commit-msg: تُفَعَّل للتحقق من صحة رسالة الcommit.
  • post-commit: تُشغّل بعد تنفيذ commit ناجح.
  • pre-push: تعمل قبل رفع التغييرات إلى المستودع البعيد (push)* وتستخدم كثيرًا للتأكد من نجاح الاختبارات أو مراجعة الآمان.

كيفية إعداد Git Hooks

للبدء باستخدام Git Hooks، تحتاج إلى معرفة أن السكربتات الخاصة بها توجد داخل مجلد يسمى .git/hooks داخل كل مستودع Git محلي. هذا المجلد يحتوي على ملفات باسم السكربتات مع امتداد .sample كبداية.

خطوات استخدام Git Hook هي:

  1. الوصول إلى مجلد hooks: افتح مجلد المستودع المحلي، ثم اذهب إلى .git/hooks.
  2. اختيار نوع hook: حدد السكربت المناسب للعملية التي تريد تنفيذها، مثل pre-commit.sample.
  3. إنشاء نسخة جديدة بدون الامتداد .sample: انسخ أو أعد تسمية الملف مثلا إلى pre-commit.
  4. تعديل السكربت: افتح الملف باستخدام محرر نصوص وأضف الأوامر أو البرمجة التي تريد تنفيذها عندما يتم استدعاء هذا الـ hook.
  5. تعيين الأذونات الصحيحة: اجعل السكربت قابلًا للتنفيذ باستخدام الأمر في لينكس أو ماك chmod +x pre-commit.
  6. اختبار السكربت: حاول إجراء commit أو العملية المرتبطة بالرابط لتتأكد من أن الكود يعمل كما هو متوقع.

أمثلة عملية على استخدام Git Hooks

مثلاً، إن اردت منع تسجيل أي commit يحتوي على أخطاء في التنسيق أو ضمان أن الملفات البرمجية تخضع لاختبارات معينة قبل التفكير في رفعها، يمكنك استخدام السكربت التالي داخل hook pre-commit:


#!/bin/sh

# التحقق من تنسيق الكود باستخدام أداة مثل eslint أو prettier

npm run lint

if [ $? -ne 0 ]; then

echo "يرجى تصحيح أخطاء التنسيق قبل الإضافة." >&2

exit 1

fi

هذا السكربت يقوم بتشغيل فحص تنسيق لأكواد جافاسكربت من خلال npm قبل السماح بإجراء commit. إذا فشل الفحص، يمنع Git العملية ويعطي المستخدم رسالة توضيحية.

نصائح مهمة عند استخدام Git Hooks

من الضروري الانتباه إلى أن hooks تعمل محليًا فقط، أي أنها لا تنتقل مع المستودع عند مشاركته مع فريق العمل. لذلك، في المشاريع الجماعية، يُفضل استخدام أدوات أو سكربتات خارج Git تربط الـ hooks بطريقة مركزية مثل Husky لنظم Node.js.

أيضًا، تأكد من كتابة أكواد hooks بطريقة مُحكمة لضمان عدم تعطيل سير العمل بدون سبب، ويُنصح دائمًا بإضافة رسائل واضحة عند حدوث خطأ في hook معين.

مرحبًا بك في موقع اسألني، منصة عربية متخصصة في طرح الأسئلة والإجابة عليها. يمكنك بسهولة طرح أي سؤال يدور في ذهنك، وسيقوم مجتمع المستخدمين بمساعدتك من خلال تقديم إجابات مفيدة ومعلومات قيّمة في مختلف المجالات.
...