Repolode
sds

sds/overcommit

Gerenciador configurável de Git hooks escrito em Ruby, que executa linters, testes e scripts personalizados em commits, pushes e outros eventos do Git.

Estrelas
4,005
Forks
291
Issues abertas
34
Último commit
ontem

O que é?

O Overcommit gerencia os Git hooks de um repositório para executar automaticamente verificações como linters, executores de testes e formatadores em etapas como pre-commit, commit-msg, pre-push e post-checkout. O comportamento dos hooks é definido em um arquivo .overcommit.yml específico do repositório, que permite ativar ou desativar hooks individuais, controlar a quais arquivos eles se aplicam e ajustar opções como execução paralela e tratamento de falhas.

O projeto inclui um amplo conjunto de hooks para linguagens e ferramentas como Ruby (RuboCop, RSpec), JavaScript (ESLint, Stylelint), Python (Pylint, Flake8), Go, PHP, Java e Shell, além de verificações genéricas de espaços em branco no fim das linhas, marcadores de conflito de merge e tamanho dos arquivos. As equipes também podem criar hooks específicos para o repositório em Ruby ou registrar um script de shell existente como hook sem escrever código Ruby.

A configuração pode ser compartilhada pelo controle de versão, enquanto o arquivo .local-overcommit.yml permite personalizações individuais. O Overcommit também registra uma assinatura do código dos hooks e da configuração, para sinalizar alterações feitas por outras pessoas antes que os hooks sejam executados novamente.

Recursos principais

  • 01Executa hooks em vários eventos do Git, incluindo pre-commit, commit-msg, pre-push e post-checkout.
  • 02Inclui um amplo conjunto de linters e executores de testes para linguagens comuns.
  • 03Permite adicionar scripts de shell existentes como hooks sem escrever código Ruby.
  • 04Oferece filtros de arquivos por hook, exclusões de branches e execução paralela.
  • 05Disponibiliza o modo --run para verificar um repositório inteiro no CI.

Casos de uso

  • Executar RuboCop ou ESLint automaticamente antes de cada commit em um repositório da equipe.
  • Bloquear pushes para branches protegidas ou commits com marcadores de conflito de merge.
  • Executar no CI o mesmo conjunto de verificações de lint que os desenvolvedores executam localmente antes de commitar.

Início rápido

  1. 1

    Instale a gem overcommit pelo RubyGems

    gem install overcommit
  2. 2

    Acesse seu repositório e inicialize o Git, se necessário

    git init
  3. 3

    Instale os hooks do Overcommit no repositório

    overcommit --install

Antes de usar

  • Alguns hooks dependem de ferramentas de terceiros (por exemplo, scss_lint), que você precisa instalar por conta própria.
  • Requer um ambiente Ruby: Ruby 2.6 ou superior em *nix; o suporte ao Windows é oferecido apenas na medida do possível.

Em coleções

Tópicos

Perguntas frequentes

O que é overcommit?
Gerenciador configurável de Git hooks escrito em Ruby, que executa linters, testes e scripts personalizados em commits, pushes e outros eventos do Git. O Overcommit gerencia os Git hooks de um repositório para executar automaticamente verificações como linters, executores de testes e formatadores em etapas como pre-commit, commit-msg, pre-push e post-checkout. O comportamento dos hooks é definido em um arquivo .overcommit.yml específico do repositório, que permite ativar ou desativar hooks individuais, controlar a quais arquivos eles se aplicam e ajustar opções como execução paralela e tratamento de falhas.
overcommit é gratuito? Qual é a licença?
overcommit é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
overcommit ainda é mantido?
Manutenção ativa. O último commit de overcommit foi em 6 de nov. de 2026.
Para que posso usar overcommit?
Executar RuboCop ou ESLint automaticamente antes de cada commit em um repositório da equipe. Bloquear pushes para branches protegidas ou commits com marcadores de conflito de merge. Executar no CI o mesmo conjunto de verificações de lint que os desenvolvedores executam localmente antes de commitar.
Como instalar overcommit?
Instale a gem overcommit pelo RubyGems: gem install overcommit Acesse seu repositório e inicialize o Git, se necessário: git init Instale os hooks do Overcommit no repositório: overcommit --install
Onde consigo overcommit?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/sds/overcommit

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados