بسم الله الرحمن الرحیم
شما می توانید کدی بنویسید که در عملیات های مختلف گیت اجرا شود.مثلا کدی بنویسید که قبل از هر بار commit اجرا شود .به این کد ها git hooks می گویند.
این قلاب ها (hooks) خصوصا در پروژه های بزرگتر میتواند خیلی کاربردی باشد.میتوانند قبل از commit شدن کد ها از لحاظ امنیتی کد را چک کنند یا حتی از لحاظ زیبایی و رعایت استایل کد شما را برسی کنند.
هر کجا که یک گیت ریپازتوری باشد یک پوشه مخفی به اسم ".git" وجود دارد که اگر وارد آن بشوید پوشه دیگری به اسم "hooks" وجود دارد که کد های مربوطه در آن است.
.git/hooks
درون پوشه hooks فایل های مختلفی وجود دارد که در تصویر زیر مشاهده می کنید.تمام این فایل ها پسوند.sample را دارند و هر فایلی این پسوند را داشته باشد اجرا نمی شود.
به عنوان مثال میخواهیم فایلی بسازیم که قبل از هر commit یک پیام خسته نباشید به ما بگویید.
برای اینکار در پوشه hooks یک فایل به نام pre-commit ایجاد می کنیم. توجه داشته باشید که این فایل هیچ پسوندی ندارد.
حالا می توانیم کد هایی که میخواهیم قبل از هر commit اجرا شود را در این فایل بنویسم.من قصد دارم کدی به زبان bash بنویسم که قبل از هر کامییت بگوید "good job".
#!/bin/sh باید د راینجا زبان مورد نظر را انتخاب کنید
echo "good job" کدی که قبل از هر کامییت اجرا میشود
حالا برای تست یک commit انجام میدهم و همانطور که در تصویر زیر می بینید قبل از کامیت پیام good job را به من نشان می دهد.