El modelo
El desarrollo basado en trunk (TBD) mantiene un solo branch de larga vida — el trunk, usualmente main — e integra todo frecuentemente, idealmente muchas veces al día.
Dos sabores
- TBD puro - todos hacen commit directo al trunk.
- Branches de vida corta - los branches viven unas horas, detrás de un PR.
Por qué funciona TBD
- Los conflictos surgen diariamente, no semanalmente.
- El trunk siempre es liberable.
- No hay merges "big bang".
- La integración continua se vuelve literal.
El reto: features incompletos
- Feature flags - mergear código oscuro, habilitar después.
- Branch by abstraction - introducir una interfaz, intercambiar implementaciones.
- Keystone interfaces - cablear el nuevo camino al final.
Un día típico
git checkout main
git pull --rebase
git checkout -b quick-fix
git rebase main
git push -u origin quick-fix
git checkout main
git pull --rebase
git branch -d quick-fix
Guardrails requeridos
- Tests rápidos - bajo 10 minutos idealmente.
- Verificaciones pre-merge bloquean commits rotos del trunk.
- Rollback automatizado o feature flag kill switches.
Releases
- Release desde el trunk - tagear el commit que envías.
- Release branches - cortar un
release/x.yde vida corta.
git tag -a v1.4.0 -m "Release 1.4.0"
git push origin v1.4.0