Bir tane client-side pre-push git hook kullanarak, programcı arkadaşlarınızın kırık olan testleri git kütüphanenize göndermelerini engelleyebilirsiniz. Bu örnek PSR-1 ve PSR-2 ile belirlenmiş olan PHP kodlama standartlarını kontrol ediyor.


Git hook


Aşağıdaki dosyayı diğer hook örneklerinin de bulunduğu, projeniz içindeki .git/hooks/ klasörüne pre-push adı altında kaydedin.


#!/bin/sh

if [ -f ./bin/php-cs-fixer ]
then
./bin/php-cs-fixer fix --dry-run --quiet src
if [ $? -ne 0 ]
then
RED='\033[0;31m'
CYAN='\033[0;36m'
NA='\033[0m'

printf "\n\t${CYAN}[GIT POLICY]${NA} PHP-CS-Fixer has failed - ${RED}Push Aborted${NA}\n\n"

return 1
fi
fi

Kurulum


$ chmod +x .git/hooks/pre-push

Test