DevOps Bootcamp · درس

مشاركة Hooks باستخدام Husky

تعلّم كيفية مشاركة Git hooks بين أعضاء الفريق باستخدام Husky، حتى يشغّل الجميع الفحوصات نفسها تلقائيًا.

الدرس 4 من 413 خطوة

مشاركة Hooks باستخدام Husky درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

مشكلة خطافات Git الأصلية

توجد خطافات Git الأصلية في .git/hooks، وهو مجلد لا يُضمَّن في الالتزام داخل المستودع. وهذا يعني أن أعضاء الفريق لا يحصلون على خطافاتك تلقائيًا.

ما هو Husky؟

‏Husky أداة شائعة تخزّن الخطافات داخل المستودع وتثبّتها للجميع، بحيث يشغّل الفريق بأكمله عمليات التحقق نفسها.

تثبيت Husky

أضف Husky كتَبعية للتطوير في مشروع Node.js.

npm install --save-dev husky

تهيئة Husky

ينشئ أمر التهيئة مجلد .husky ويضبط Git لاستخدامه.

npx husky init

كيفية إعادة توجيه Husky للخطافات

يوجّه Husky إعداد Git‏ core.hooksPath إلى المجلد .husky المضمَّن في الالتزام بدلًا من .git/hooks.

git config core.hooksPath .husky

إضافة خطاف ما قبل الالتزام

أنشئ ملف .husky/pre-commit يشغّل أمر الفحص أو الاختبار قبل كل التزام.

echo 'npm test' > .husky/pre-commit

إيداع الخطاف

بما أن .husky موجود داخل المستودع، يمكنك إيداعه مثل أي ملف آخر. وسيحصل أعضاء الفريق عليه عند تنفيذ عملية السحب التالية.

git add .husky/pre-commit
git commit -m 'Add pre-commit test hook'

تشغيل أدوات الفحص على الملفات المرحّلة

استخدم Husky مع lint-staged لفحص الملفات التي أضفتها إلى منطقة التجهيز فقط، مما يحافظ على سرعة عمليات الالتزام.

npm install --save-dev lint-staged

ضبط lint-staged

حدّد الأمر الذي يُشغَّل على كل مجموعة من الملفات في package.json.

{
  'lint-staged': {
    '*.js': 'eslint --fix'
  }
}

خطاف commit-msg

يمكن لـ Husky أيضًا فرض قواعد رسائل الالتزام باستخدام خطاف commit-msg وأداة مثل commitlint.

echo 'npx commitlint --edit $1' > .husky/commit-msg

تجاوز الخطافات عند الحاجة

يمكنك في حالات الطوارئ تخطي الخطافات باستخدام --no-verify، لكن ينبغي أن يكون ذلك نادرًا.

git commit --no-verify -m 'WIP'

تحقق سريع

اختبر مدى فهمك لمشاركة الخطافات باستخدام Husky.

مراجعة

لقد تعلمت مشاركة الخطافات باستخدام Husky:

  • لا تتم مشاركة الخطافات الأصلية الموجودة في .git/hooks
  • يخزّن Husky الخطافات في مجلد .husky المضمَّن في الالتزام
  • يعيد توجيه core.hooksPath
  • يمكن دمجه مع lint-staged وcommitlint لإجراء عمليات تحقق على مستوى الفريق
البدء مجانًا

تعلم DevOps Bootcamp مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
142
الدروس
568

الأسئلة الشائعة

هل درس «مشاركة Hooks باستخدام Husky» مجاني؟

نعم — نص درس «مشاركة Hooks باستخدام Husky» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «مشاركة Hooks باستخدام Husky»؟

تعلّم كيفية مشاركة Git hooks بين أعضاء الفريق باستخدام Husky، حتى يشغّل الجميع الفحوصات نفسها تلقائيًا. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «مشاركة Hooks باستخدام Husky»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فهم Git Hooks
  2. خطافات ما قبل الالتزام وما بعد الدمج
  3. تخصيص إعدادات Git
  4. مشاركة Hooks باستخدام Husky
← العودة إلى DevOps Bootcamp