Ho difficoltà a trovare il miglior modello di ramificazione per il mio team e vorrei ricevere consigli su quali modelli di ramificazione funzionerebbero al meglio.
Abbiamo 2 ambienti - Test & Produzione. Recentemente ho iniziato a lavorare con "nvie gitflow" con il mio team, senza i rami di rilascio, quindi abbiamo un ramo di sviluppo che è l'ambiente di test, a cui tutte le diramazioni sono unite e master che rappresenta il nostro ambiente di produzione.
Quando uno sviluppatore termina una funzione, crea una richiesta pull e la unisce al ramo di sviluppo e, dopo l'unione, viene distribuito un nuovo rilascio a Test environment.
Quando il team addetto al QA approva la funzione, selezioniamo tutti i commit dalla richiesta pull e creando una nuova richiesta pull, ora da padroneggiare.
Lo facciamo per controllare quali modifiche verranno distribuite alla produzione.
Tutto funziona davvero bene tranne il cherry-pick da padroneggiare - spesso distribuiamo codice che dipende da un altro codice che non è su master e la nostra distribuzione fallisce.
Cerco un modo in cui possiamo controllare il codice distribuito alla produzione, ma anche gestire le dipendenze tra le sezioni di codice. Ho provato a unire il ramo della funzione da padroneggiare, ma in questo modo vengono commessi anche molti cambiamenti non necessari.