Git hooks هي سكريبتات يقوم Git بتشغيلها تلقائياً في نقاط معينة من سير عمل Git (قبل/بعد الالتزامات، الدفع، الدمج، إلخ). تمكّن الأتمتة — فرض المعايير، تشغيل الفحوصات، وتشغيل الإجراءات — وتُستخدم على نطاق واسع لضمان جودة الكود والتكامل مع CI.
ما هي الـ hooks
Hooks are executable scripts in .git/hooks/ (or managed by tools) that Git runs on EVENTS:
CLIENT-SIDE (local):
pre-commit → before a commit is created (lint, format, run quick tests)
commit-msg → validate/format the commit message
pre-push → before pushing (run tests, prevent pushing broken code)
post-merge/checkout → after merge/checkout (e.g. reinstall dependencies)
SERVER-SIDE (on the remote):
pre-receive / update → enforce policies on push (reject bad pushes)
post-receive → trigger deployment/CI/notifications after a push
