Git Workflow Team Best Practices
Git workflow eficiente para equipos ágiles
Pablo Alcalde García
Git workflow eficiente para equipos ágiles
Este es el workflow de Git que usamos en Wegow y funciona perfectamente.
Estructura de branches
main (producción)
↑
develop (integración)
↑
feature/nombre-feature (desarrollo)
Convenciones de commits
Seguimos Conventional Commits:
feat: añade botón de compartir en redes sociales
fix: corrige error de scroll en mobile
docs: actualiza README con instrucciones
style: formatea código con prettier
refactor: simplifica lógica de autenticación
test: añade tests para componente Button
chore: actualiza dependencias
Workflow diario
1. Crear feature branch
git checkout develop
git pull origin develop
git checkout -b feature/nueva-funcionalidad
2. Commits atómicos
git add .
git commit -m "feat: añade validación de formulario"
git commit -m "test: añade tests para validación"
3. Mantener actualizado
# Rebase frecuente con develop
git fetch origin
git rebase origin/develop
4. Push y PR
git push origin feature/nueva-funcionalidad
# Crear Pull Request en GitHub/GitLab
Code review checklist
Antes de aprobar un PR verificamos:
- Código cumple estándares del equipo
- Tests pasan
- Sin conflictos
- Cambios tienen sentido atómico
- Documentación actualizada
- Sin console.logs ni debuggers
- Performance considerada
Git aliases útiles
# ~/.gitconfig
[alias]
co = checkout
br = branch
ci = commit
st = status
unstage = reset HEAD --
last = log -1 HEAD
visual = log --graph --oneline --all
amend = commit --amend --no-edit
Resolver conflictos
# Cuando hay conflictos en rebase
git status # ver archivos conflictivos
# Resolver manualmente
git add .
git rebase --continue
Hotfix en producción
git checkout main
git pull origin main
git checkout -b hotfix/bug-critico
# Fix del bug
git commit -m "fix: soluciona error crítico en checkout"
git checkout main
git merge hotfix/bug-critico
git push origin main
git checkout develop
git merge hotfix/bug-critico
git push origin develop
Git hooks útiles
// .husky/pre-commit
npm run lint
npm run test
Mensajes de commit descriptivos
❌ Malo:
git commit -m "fix"
git commit -m "changes"
git commit -m "wip"
✅ Bueno:
git commit -m "fix: corrige cálculo de precio total en carrito"
git commit -m "feat: implementa filtro de búsqueda con debounce"
git commit -m "refactor: extrae lógica de validación a composable"
Squash commits antes de merge
git rebase -i HEAD~3
# Cambiar 'pick' a 'squash' en commits a combinar
Cherry-pick
# Aplicar commit específico de otra branch
git cherry-pick abc123
Stash para cambios temporales
git stash save "work in progress on feature X"
git checkout other-branch
# hacer algo
git checkout -
git stash pop
Conclusión
Un buen workflow de Git mejora la colaboración y reduce errores. Estos son estándares que todo equipo debería adoptar.
¿Te ha gustado este artículo?
Si tienes preguntas o quieres discutir sobre estos temas, no dudes en contactarme.
Contáctame