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 chamado pre-commit.
  • no conreúdo do arquivo pre-commit execute a rotina de teste, normalmente utiliza-se o comando npm 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.

Mais