Repolode
sds

sds/overcommit

Gestor configurable de hooks de Git escrito en Ruby que ejecuta linters, pruebas y scripts personalizados en cada commit, push y otros eventos de Git.

Estrellas
4,005
Forks
291
Issues abiertos
34
Último commit
hace 21 horas

¿Qué es?

Overcommit gestiona los hooks de Git de un repositorio para que comprobaciones como linters, ejecutores de pruebas y formateadores se ejecuten automáticamente en momentos como pre-commit, commit-msg, pre-push y post-checkout. El comportamiento de los hooks se define en un archivo .overcommit.yml propio del repositorio, donde se pueden habilitar o deshabilitar hooks individuales, controlar a qué archivos se aplican y ajustar opciones como la ejecución en paralelo y el manejo de errores.

El proyecto incluye un amplio conjunto de hooks integrados para lenguajes y herramientas como Ruby (RuboCop, RSpec), JavaScript (ESLint, Stylelint), Python (Pylint, Flake8), Go, PHP, Java y Shell, además de comprobaciones genéricas de espacios en blanco al final de línea, marcadores de conflictos de merge y tamaños de archivo. Los equipos también pueden escribir hooks específicos del repositorio en Ruby o registrar un script de shell existente como hook sin escribir código Ruby.

La configuración se puede compartir mediante el control de versiones, mientras que el archivo .local-overcommit.yml permite aplicar ajustes personales. Overcommit también guarda una firma del código de los hooks y de la configuración para señalar los cambios realizados por otras personas antes de volver a ejecutar los hooks.

Funciones clave

  • 01Ejecuta hooks en muchos eventos de Git, incluidos pre-commit, commit-msg, pre-push y post-checkout.
  • 02Incluye un amplio conjunto de linters y ejecutores de pruebas integrados para los lenguajes más comunes.
  • 03Permite añadir scripts de shell existentes como hooks sin escribir código Ruby.
  • 04Admite filtros de archivos por hook, exclusiones de ramas y ejecución en paralelo.
  • 05Ofrece un modo --run para comprobar todo un repositorio en CI.

Casos de uso

  • Ejecutar RuboCop o ESLint automáticamente antes de cada commit en un repositorio de equipo.
  • Bloquear pushes a ramas protegidas o commits con marcadores de conflictos de merge.
  • Ejecutar en CI el mismo conjunto de comprobaciones de lint que los desarrolladores usan localmente antes de hacer commit.

Inicio rápido

  1. 1

    Instala la gem overcommit mediante RubyGems

    gem install overcommit
  2. 2

    Ve a tu repositorio e inicializa Git si es necesario

    git init
  3. 3

    Instala los hooks de Overcommit en el repositorio

    overcommit --install

Antes de usarlo

  • Algunos hooks dependen de herramientas de terceros (por ejemplo, scss_lint), que debes instalar por tu cuenta.
  • Requiere un entorno Ruby; en *nix, Ruby 2.6 o posterior. La compatibilidad con Windows se ofrece solo en la medida de lo posible.

En colecciones

Temas

Preguntas frecuentes

¿Qué es overcommit?
Gestor configurable de hooks de Git escrito en Ruby que ejecuta linters, pruebas y scripts personalizados en cada commit, push y otros eventos de Git. Overcommit gestiona los hooks de Git de un repositorio para que comprobaciones como linters, ejecutores de pruebas y formateadores se ejecuten automáticamente en momentos como pre-commit, commit-msg, pre-push y post-checkout. El comportamiento de los hooks se define en un archivo .overcommit.yml propio del repositorio, donde se pueden habilitar o deshabilitar hooks individuales, controlar a qué archivos se aplican y ajustar opciones como la ejecución en paralelo y el manejo de errores.
¿overcommit es gratuito? ¿Qué licencia tiene?
overcommit es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿overcommit sigue mantenido?
Mantenimiento activo. El último commit de overcommit fue el 6 nov 2026.
¿Para qué puedo usar overcommit?
Ejecutar RuboCop o ESLint automáticamente antes de cada commit en un repositorio de equipo. Bloquear pushes a ramas protegidas o commits con marcadores de conflictos de merge. Ejecutar en CI el mismo conjunto de comprobaciones de lint que los desarrolladores usan localmente antes de hacer commit.
¿Cómo se instala overcommit?
Instala la gem overcommit mediante RubyGems: gem install overcommit Ve a tu repositorio e inicializa Git si es necesario: git init Instala los hooks de Overcommit en el repositorio: overcommit --install
¿Dónde consigo overcommit?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sds/overcommit

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados