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
Escríbeme por WhatsApp