El equipo aplica el Squash única y exclusivamente al integrar cambios a la rama main. Para el resto de las integraciones se utiliza merge directo para preservar el historial detallado.
| Destino del merge | Estrategia | Justificación |
|---|---|---|
testing | Merge directo (sin MR, sin squash) | Preserva historial completo para troubleshooting de QA. |
next / stage | Merge directo (sin MR, sin squash, solo TL/PM) | Historial detallado, requiere aprobación de Maintainer. |
main | Squash & Merge vía MR | Un commit limpio por feature, facilita rollback y changelog. |
mainmain queda limpio y semántico: cada commit representa una feature o fix completo.testing y next conservan el historial detallado que QA y maintainers necesitan para depuración.Settings → General → Merge requests:
Comparación visual entre el squash merge hacia main y el merge directo hacia testing.