Skip to content
Latchkey

O Que É um Pre-Commit Hook?

Um pre-commit hook é um script que roda automaticamente antes de um commit ser registrado, bloqueando o commit se uma verificação falhar.

O Git pode executar scripts em determinados pontos do seu fluxo de trabalho. Um pre-commit hook dispara logo antes de um commit ser criado, então você pode aplicar lint, formatar ou rodar verificações rápidas localmente - capturando problemas antes que cheguem ao repositório compartilhado ou ao CI.

Como os hooks funcionam

O Git procura scripts executáveis em um diretório de hooks; o hook pre-commit roda sobre as alterações no stage, e um exit não-zero bloqueia o commit. Frameworks como a ferramenta pre-commit gerenciam esses hooks de forma declarativa em toda a equipe.

Um pequeno exemplo

Um .pre-commit-config.yaml que lista um formatador e um scanner de segredos roda essas ferramentas nos arquivos em stage no momento do commit. Se o formatador reescrever um arquivo ou o scanner encontrar uma chave, o commit é bloqueado até você corrigir.

O que rodar em um

  • Formatadores e linters rápidos nos arquivos em stage.
  • Scanners de segredos para impedir que credenciais sejam commitadas.
  • Verificações rápidas e direcionadas - não a suíte de testes completa.

Hooks complementam, não substituem, o CI

Os hooks rodam localmente e podem ser pulados (git commit --no-verify), então não podem ser o único gate. Eles encurtam o ciclo de feedback; o CI é o gate autoritativo que roda as mesmas verificações onde elas não podem ser contornadas.

Mantenha-os rápidos

Um hook lento é um hook que as pessoas desabilitam. Rode apenas verificações rápidas nos arquivos em stage e deixe a suíte pesada para o CI - o hook deve adicionar segundos, não minutos, a um commit.

Principais conclusões

  • Um pre-commit hook executa verificações localmente antes de um commit ser criado.
  • Use-o para linting rápido, formatação e escaneamento de segredos.
  • Os hooks encurtam o feedback, mas o CI continua sendo o gate inescapável.

Guias relacionados