Git hook là các script mà Git chạy tự động tại các điểm nhất định trong quy trình Git (trước/sau các commit, push, merge, v.v.). Chúng cho phép tự động hóa — thực thi các chuẩn, chạy các kiểm tra, và kích hoạt các hành động — và được dùng rộng rãi cho chất lượng mã và tích hợp CI.
Hook là gì
Hook là các script thực thi được trong .git/hooks/ (hoặc được quản lý bởi công cụ) mà Git chạy theo SỰ KIỆN:
PHÍA CLIENT (local):
pre-commit → trước khi một commit được tạo (lint, định dạng, chạy test nhanh)
commit-msg → kiểm tra/định dạng commit message
pre-push → trước khi push (chạy test, ngăn push mã hỏng)
post-merge/checkout → sau merge/checkout (ví dụ cài lại dependency)
PHÍA SERVER (trên remote):
pre-receive / update → thực thi các chính sách khi push (từ chối các push tệ)
post-receive → kích hoạt deployment/CI/thông báo sau một push
