AgentSkillsCN

git-workflow

SGRRHH 的 Git 工作流。小规模改动直接提交至 main 分支,而重大或高风险的改动则应创建功能分支。

SKILL.md
--- frontmatter
name: git-workflow
description: Flujo de trabajo Git para SGRRHH. Cambios menores van en commits directos a main, cambios grandes/riesgosos van en ramas feature.

Git Workflow - SGRRHH

Formato de Commits: Conventional Commits

Todos los commits deben seguir el formato:

code
tipo(scope): descripción breve

[cuerpo opcional]

Tipos Permitidos

TipoUso
featNueva funcionalidad
fixCorrección de bug
refactorMejora de código sin cambio de funcionalidad
styleCambios de CSS/formato
docsDocumentación
choreTareas de mantenimiento
testAgregar o modificar tests

Scopes del Proyecto

ScopeÁrea
empleadosGestión de empleados
contratosContratos laborales
vacacionesSolicitudes de vacaciones
permisosPermisos laborales
incapacidadesIncapacidades médicas
dotacionDotación y EPP
control-diarioControl diario de actividades
inventarioInventario y movimientos
authAutenticación y permisos
uiComponentes UI generales
dbMigraciones y cambios de BD
deployScripts de deployment
configConfiguración del proyecto
vacantesGestión de vacantes de empleo
aspirantesGestión de candidatos/aspirantes
hoja-vidaPDFs de hoja de vida inteligente
contratacionProceso de contratación
promptsPrompts de delegación para agentes

Ejemplos de Commits Correctos

bash
feat(empleados): agregar campo Predio a actividades
fix(vacaciones): corregir cálculo de días disponibles
refactor(ui): extraer componente SelectorEstado reutilizable
style(expediente): aplicar estilos hospital.css a formularios
docs(readme): actualizar instrucciones de instalación
chore(deps): actualizar Dapper a versión 2.1.0
test(e2e): agregar test para aprobación de empleados

Estrategia de Branches

Cambios Menores → Commit Directo a main

Aplica cuando:

  • Corrección de typos o errores pequeños
  • Ajustes de CSS/estilos
  • Fix de bugs simples (1-2 archivos)
  • Cambios que no afectan funcionalidad crítica
bash
git add -A
git commit -m "fix(ui): corregir alineación de botones en modal"
git push origin main

Cambios Grandes → Feature Branch

Crear rama cuando:

  • Tocar más de 5 archivos relacionados
  • Modificar estructura de BD (nuevas tablas, columnas)
  • Agregar nuevos servicios o repositorios
  • Cambios que pueden romper funcionalidad existente
  • Requiere pruebas extensivas
bash
# Crear rama
git checkout main
git pull origin main
git checkout -b feature/nombre-descriptivo

# Trabajar (múltiples commits permitidos)
git add -A
git commit -m "feat(módulo): paso 1 de N"

# Push de la rama
git push origin feature/nombre-descriptivo

# Merge cuando esté listo
git checkout main
git merge feature/nombre-descriptivo
git push origin main

# Eliminar rama
git branch -d feature/nombre-descriptivo
git push origin --delete feature/nombre-descriptivo

Nombres de Ramas

PrefijoUso
feature/Nuevas funcionalidades
refactor/Reestructuración de código
fix/Correcciones complejas
db/Cambios de base de datos

Ejemplo: feature/wizard-control-diario, refactor/expediente-components, db/migration-predio

Antes de Push

Checklist obligatorio:

  • dotnet build sin errores
  • ✅ Pruebas manuales de la funcionalidad afectada
  • ✅ No hay console.log o código de debug
  • ✅ Commit message sigue Conventional Commits
  • ✅ Scope es correcto según la tabla

Revertir Cambios (Emergencias)

bash
# Ver historial
git log --oneline -10

# Revertir último commit (mantiene cambios en staging)
git reset --soft HEAD~1

# Revertir último commit (descarta cambios)
git reset --hard HEAD~1

# Revertir commit específico (crea nuevo commit de reversión)
git revert <commit-hash>

Situación: Subí algo que rompe producción

bash
git revert HEAD
git push origin main

Situación: Necesito volver a estado limpio

bash
git fetch origin
git reset --hard origin/main

[!CAUTION] git reset --hard elimina cambios locales. Usar con extremo cuidado.