Questo è il problema esatto che ho con gitflow e flusso GitHub, e sembra che con le applicazioni web questo avvenga spesso - o più come la norma. Sembra che tu risolverai questo problema retroattivamente (menzionato sopra) o in modo proattivo (esempio sotto).
Ho creato "rami bundle" oltre ai rami gitflow standard. Il pacchetto comprende tutte le funzionalità pronte per uat / qa. Viene creato un elenco di funzionalità uat / qa. Questi sono uniti nel bundle temporaneo e quel bundle viene implementato in uat / qa. Qualsiasi bug fix si verifica sul ramo della caratteristica originale e viene nuovamente rimandato nel bundle e distribuito. Questo separa la prossima versione e consente di testare insieme quelle caratteristiche prima che trovino la loro strada verso il ramo di sviluppo. I rami approvati ricevono una richiesta di pull in fase di sviluppo, seguendo il processo gitflow. Le funzionalità pronte per il test possono essere aggiunte o rimosse dal ramo del bundle temporaneo
e ridistribuito.
- Questo fa sì che il master rifletta sempre lo stato pronto per la produzione (può automatizzarsi con il gancio)
- Develop riflette sempre l'ultimo candidato della prossima release consegnato (e testato)
I contro includono la gestione dell'elenco di bundle e l'aggiunta di un altro tipo di ramo; tuttavia, oltre alla correzione retro, che ritengo sia troppo tardi, questa sembra essere la soluzione più valida.
Con un addon della GUI, potrebbe essere ottimale spuntare i rami delle funzionalità per implementazione del bundle, tenendo presente l'automazione.