0Pricing
Git & GitHub Professional Workflow · Lección

Comprender los hooks de Git

Explore los distintos tipos de hooks de Git y los puntos en los que se ejecutan dentro del flujo de trabajo de Git.

Comprender los hooks de Git es una lección gratuita de Git & GitHub Professional Workflow en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Git & GitHub Professional Workflow, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Git & GitHub Professional Workflow incluye 4 lecciones en total.

¿Qué son los hooks de Git?

¡Le damos la bienvenida a los hooks de Git! Los hooks de Git son scripts potentes y personalizables que Git ejecuta automáticamente antes o después de eventos como confirmar, enviar o recibir confirmaciones enviadas.

Considérelos puntos de control o acciones automatizados en su flujo de trabajo de Git. Ayudan a hacer cumplir los estándares del proyecto, automatizar tareas e integrarse con otros sistemas.

Dónde se encuentran los hooks

Cada repositorio de Git incluye un directorio .git/hooks. Dentro encontrará scripts de ejemplo para hooks (normalmente terminados en .sample).

Para activar un hook, solo tiene que eliminar la extensión .sample y hacer que el archivo sea ejecutable. Git lo ejecutará en el momento adecuado.

  • Ubicación: .git/hooks/
  • Archivos: scripts de shell (Bash, Python, Ruby, etc.)
  • Activación: cambiar el nombre y hacer que sea ejecutable

Del lado del cliente frente al lado del servidor

Los hooks de Git se clasifican en dos tipos principales según dónde se ejecutan:

  • Hooks del lado del cliente: se ejecutan en su máquina local (por ejemplo, antes de confirmar o hacer rebase). Se utilizan para automatizar el flujo de trabajo personal y hacer cumplir las políticas locales.
  • Hooks del lado del servidor: se ejecutan en el servidor Git remoto (por ejemplo, al enviar código a un repositorio compartido). Hacen cumplir las políticas del proyecto para todos.

Hook del cliente: pre-commit

El hook pre-commit es uno de los hooks del lado del cliente más comunes. Se ejecuta *antes* de que Git cree oficialmente una confirmación.

Si el script pre-commit termina con un estado distinto de cero, Git cancela la confirmación. Es perfecto para tareas como:

  • Analizar el código con herramientas de lint (comprobar errores de estilo)
  • Ejecutar pruebas unitarias
  • Comprobar si hay archivos grandes o datos confidenciales

Hook del cliente: commit-msg

El hook commit-msg se ejecuta *después* de que haya introducido el mensaje de la confirmación, pero *antes* de que esta se finalice.

Este hook resulta útil para garantizar que los mensajes de las confirmaciones sigan convenciones o formatos específicos. Por ejemplo, puede comprobar si:

  • El mensaje comienza con un ID de incidencia (por ejemplo, [JIRA-123])
  • La longitud del mensaje está dentro de los límites
  • Hay palabras clave específicas, o no las hay

Hook del cliente: post-commit

El hook post-commit se ejecuta *inmediatamente después* de que se haya creado correctamente una confirmación.

A diferencia de pre-commit o commit-msg, este hook no puede cambiar el resultado de la confirmación. A menudo se utiliza para notificaciones o integraciones, como:

  • Notificar a los miembros del equipo
  • Actualizar una herramienta de gestión de proyectos
  • Activar una compilación de integración continua (CI), aunque esto es más habitual con hooks del lado del servidor

Hook del servidor: pre-receive

Pasando a los hooks del servidor, pre-receive se ejecuta *antes* de que se actualice cualquier referencia (como ramas o etiquetas) en el repositorio remoto.

Este hook es muy útil para hacer cumplir políticas importantes del repositorio, como:

  • Impedir los pushes directos a la rama main
  • Asegurarse de que todos los commits estén firmados
  • Validar la identidad del autor del commit

Si este hook termina con un código distinto de cero, se rechaza todo el push.

Hook del servidor: post-receive

El hook post-receive se ejecuta *después* de que un push actualiza correctamente las referencias en el repositorio remoto.

Al igual que post-commit, este hook no puede rechazar el push. Se utiliza habitualmente para:

  • Activar pipelines de CI/CD
  • Actualizar sistemas externos de seguimiento de incidencias
  • Enviar notificaciones por correo electrónico al equipo
  • Desplegar código en un entorno de staging

Crear un hook sencillo

Para crear un hook, solo tiene que crear un archivo con el nombre del hook (por ejemplo, pre-commit) en el directorio .git/hooks/. Vamos a crear uno muy básico:

#!/bin/sh

# This pre-commit hook will always succeed
echo "Running pre-commit hook..."
exit 0

Hacer ejecutables los hooks

Después de crear el script del hook, debe hacerlo ejecutable. De lo contrario, Git no lo ejecutará. Use el comando chmod en el terminal:

chmod +x .git/hooks/pre-commit

Ahora, cada vez que intente hacer un commit, ¡Git ejecutará este script!

Comprobación rápida: cuándo se ejecutan los hooks

Los hooks de Git se ejecutan en momentos específicos de su flujo de trabajo. Comprender cuándo se ejecutan es fundamental para utilizarlos eficazmente.

Resumen: comprender los hooks de Git

¡Ha dado el primer paso en el potente mundo de los hooks de Git!

  • Los hooks de Git son scripts que automatizan acciones durante eventos de Git.
  • Se encuentran en el directorio .git/hooks/ de su repositorio.
  • Los hooks pueden ser del lado del cliente (en la máquina local) o del lado del servidor (en el repositorio remoto).
  • Hooks importantes como pre-commit y pre-receive pueden hacer cumplir políticas bloqueando operaciones.
  • Hooks como post-commit y post-receive sirven para enviar notificaciones o realizar integraciones después de una acción.

¡A continuación, veremos ejemplos prácticos de implementación de hooks específicos!

Preguntas frecuentes

¿La lección «Comprender los hooks de Git» es gratis?

Sí — el texto completo de «Comprender los hooks de Git» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Git & GitHub Professional Workflow, actualiza a CoddyKit PRO. El curso de Git & GitHub Professional Workflow incluye 4 lecciones en total.

¿Qué aprenderé en «Comprender los hooks de Git»?

Explore los distintos tipos de hooks de Git y los puntos en los que se ejecutan dentro del flujo de trabajo de Git. Practicas Git & GitHub Professional Workflow con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Git & GitHub Professional Workflow?

No se requiere experiencia previa. Git & GitHub Professional Workflow en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Comprender los hooks de Git»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Git & GitHub Professional Workflow?

Sí. Cada lección de Git & GitHub Professional Workflow incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Comprender los hooks de Git
  2. Hooks pre-commit y post-merge
  3. Personalización de la configuración de Git
  4. Compartir hooks con Husky
← Volver a Git & GitHub Professional Workflow