Git Hooks
Automatiza gestión de tareas con Git hooks. Auto-actualiza tareas en commits, inicia timers en checkout y valida nomenclatura de ramas.
Automatiza tu workflow con Git hooks. Actualiza estado de tareas en commits, inicia timers en checkout, valida nomenclatura de ramas—todo sin pensarlo.
Referencia Rápida
gitscrum hooks install # Setup interactivo de hooks
gitscrum hooks list # Mostrar hooks instalados
gitscrum hooks remove # Eliminar hooks
gitscrum hooks test # Probar ejecución de hookInstalación
Setup Interactivo
gitscrum hooks install? ¿Instalar hook commit-msg?
Agrega ID de tarea a mensajes de commit
❯ Sí
No
✓ Hooks instalados: commit-msg, post-checkout, pre-push
Ubicación: .git/hooks/Instalar Hooks Específicos
gitscrum hooks install commit-msg
gitscrum hooks install --allHooks Disponibles
commit-msg
Agrega automáticamente ID de tarea a mensajes de commit.
# Rama: feature/GS-123-auth-flow
$ git commit -m "agregar refresh de token OAuth"
# Mensaje se convierte en: [GS-123] agregar refresh de token OAuthConfiguración:
hooks:
commit_msg:
enabled: true
format: "[{id}] "
skip_if_present: true
exclude_branches:
- main
- developpost-checkout
Se ejecuta después de cambiar de rama.
hooks:
post_checkout:
enabled: true
switch_timer: true # Cambia timer a tarea de nueva rama
show_task: true # Muestra info de tarea
auto_start: false # Auto-iniciar timerpre-push
Se ejecuta antes de push al remoto.
hooks:
pre_push:
enabled: true
update_status: true # Cambiar tarea a "En Progreso"
stop_timer: false # Parar timer en pushpre-commit
Validación antes de crear el commit.
hooks:
pre_commit:
enabled: true
require_timer_running: false
check_branch_naming: trueGestionar Hooks
Listar Hooks Instalados
gitscrum hooks list🔗 Hooks Instalados
Hook │ Estado │ Fuente
────────────────┼──────────┼────────────────
commit-msg │ Activo │ gitscrum
post-checkout │ Activo │ gitscrum
pre-commit │ Activo │ husky (externo)Probar Hooks
gitscrum hooks test commit-msg --message "agregar feature"Probando hook commit-msg...
Input: "agregar feature"
Rama: feature/GS-123-auth
Output: "[GS-123] agregar feature"
✓ Hook se ejecutaría correctamenteEliminar Hooks
gitscrum hooks remove commit-msg
gitscrum hooks remove --allDeshabilitar Temporalmente
git commit --no-verify -m "fix de emergencia"O con variable de entorno:
export GITSCRUM_HOOKS_DISABLED=1
git commit -m "saltar hooks"Integración con Otras Herramientas
Con Husky
{
"husky": {
"hooks": {
"pre-commit": "lint-staged && gitscrum hooks run pre-commit",
"commit-msg": "gitscrum hooks run commit-msg"
}
}
}Con Lefthook
commit-msg:
commands:
gitscrum:
run: gitscrum hooks run commit-msg {1}Configuración por Proyecto
# .gitscrum.yml
hooks:
commit_msg:
enabled: true
format: "{id}: " # Formato diferente para este proyecto
require_task_id: trueMejores Prácticas
- Empieza mínimo. Instala solo los hooks que usarás.
- Prueba primero. Usa
--dry-runyhooks testantes de comprometerte. - Documenta para el equipo. Agrega setup de hooks al README.
- Usa config de proyecto. Pon ajustes de hooks en
.gitscrum.ymlpara consistencia.