مشاركة Hooks باستخدام Husky
تعلّم كيفية مشاركة Git hooks بين أعضاء الفريق باستخدام Husky، حتى يشغّل الجميع الفحوصات نفسها تلقائيًا.
مشاركة Hooks باستخدام Husky درس مجاني في Git & GitHub Professional Workflow على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Git & GitHub Professional Workflow، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Git & GitHub Professional Workflow 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 لإجراء عمليات تحقق على مستوى الفريق
الأسئلة الشائعة
هل درس «مشاركة Hooks باستخدام Husky» مجاني؟
نعم — نص درس «مشاركة Hooks باستخدام Husky» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Git & GitHub Professional Workflow، انتقل إلى CoddyKit PRO. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
ماذا ستتعلم في «مشاركة Hooks باستخدام Husky»؟
تعلّم كيفية مشاركة Git hooks بين أعضاء الفريق باستخدام Husky، حتى يشغّل الجميع الفحوصات نفسها تلقائيًا. تتمرن على Git & GitHub Professional Workflow مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Git & GitHub Professional Workflow؟
لا تُشترط خبرة سابقة. Git & GitHub Professional Workflow على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مشاركة Hooks باستخدام Husky»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Git & GitHub Professional Workflow هذا؟
نعم. كل درس في Git & GitHub Professional Workflow يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فهم Git Hooks
- خطافات ما قبل الالتزام وما بعد الدمج
- تخصيص إعدادات Git
- مشاركة Hooks باستخدام Husky