Git Workflow
Guía de flujos de trabajo Git para equipos profesionales.
Flujos Recomendados
Git Flow (Proyectos con releases)
main ●─────●─────●
╲ ╲
develop ●──●──●──●──●
╲ ╲
feature/* ●──● ●──●
main: Producción establedevelop: Integración continuafeature/*: Features individualesrelease/*: Preparación de releaseshotfix/*: Correcciones urgentes
GitHub Flow (Proyectos ágiles)
main ●────●────●────●
╲ ╲ ╲
feature ●─● ●─● ●─●
main: Siempre deployable- Branches de feature cortas
- PRs con code review obligatorio
- Merge squash para historia limpia
Trunk-Based Development (CI/CD)
- Commits frecuentes a main
- Feature flags para código incompleto
- Branches máximo 1 día de vida
- Pair programming recomendado
Convenciones de Commits
Formato Conventional Commits
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: Nueva featurefix: Bug fixdocs: Documentaciónstyle: Formato (no código)refactor: Refactorizacióntest: Testschore: Tareas de mantenimiento
Ejemplos:
feat(auth): add JWT authentication
Implement JWT-based auth with refresh tokens.
Includes login, logout, and token refresh endpoints.
Closes #123
Mejores Prácticas
- Commits Atómicos: Un cambio lógico por commit
- Mensajes Descriptivos: Explica el "porqué", no solo el "qué"
- Branches Cortas: Máximo 2-3 días de vida
- Rebase vs Merge: Usa rebase para historia lineal
- Code Review: Todo código debe ser revisado
- Commits Frecuentes: Commit early, commit often
Comandos Útiles
Historia Limpia
# Rebase interactivo
git rebase -i HEAD~5
# Amend al último commit
git commit --amend --no-edit
# Squash de commits
git reset --soft HEAD~3
git commit -m "mensaje consolidado"
Seguridad
# Ver cambios antes de push
git diff origin/main
# Stash temporal
git stash push -m "contexto"
git stash pop
# Cherry-pick
git cherry-pick <commit-hash>
Anti-Patrones
❌ Evitar:
- Commits con mensajes como "fix", "update", "WIP"
- Branches de meses de antigüedad
- Push force a branches compartidas
- Merge commits innecesarios
- Archivos grandes/binarios en repo
Converted and distributed by TomeVault — claim your Tome and manage your conversions.