Git hooks
Git Hooks
Git hooks são scripts que o Git executa antes ou depois de eventos como: commit, push e merge. A utilização dos git hooks não necessita de downloads ou ferramentas além do próprio Git.
Funcionamento
Os repositórios Git possuem por padrão o diretório .git/hooks
que possuem scripts que podem chamar tarefas de teste unitário, checagem do padrão das mensagens do commit, lint e o que for preciso, e as tarefas do Git são ou nao executadas conforma o retorno do hook.
Exemplo
Executando teste unitário em um projeto Node.js antes de cada commit
- No diretório
.git/hooks
crie um arquivo chamadopre-commit
. - no conreúdo do arquivo
pre-commit
execute a rotina de teste, normalmente utiliza-se o comandonpm test
- Pronto!
Durante cada commit a tarefa do teste unitário será e executada e caso retorne erros o commit é cancelado. O Git detecta que os erros deram errado pois o processo retorna exit 1
, o que pode ser usado para executar outras tarefas e impedir que o commit aconteça.