Supponiamo di avere tre rami di sviluppo attivi contemporaneamente (dev 1, dev 2, dev 3), ciascun ramo che lavora su diverse funzionalità per un determinato prodotto software.
Se comprendo correttamente l'integrazione continua, queste linee di sviluppo dovrebbero ciascuna controllare costantemente il codice su una linea principale condivisa (una volta superato il test), con il codice di linea principale condiviso che viene unito a ogni ramo dev su una base regolare.
Cosa succede se uno dei rami dev (dev 1) è pronto per una distribuzione di produzione e gli altri rami dev (dev 2, dev 3) no? Se il codice filiale dev 1 viene passato attraverso UAT e in produzione, tutto il codice dai rami dev 2 e dev 3 che sono stati "integrati continuamente" in dev 1 verrà anche inserito in Prod, anche se le funzionalità in dev 2 e dev 3 potrebbe non essere pronto (o programmato) per il rilascio.
Come posso evitare questo problema mentre sto ancora aderendo all'integrazione continua?