Non so se sto complicando troppo le cose, ma qui è il nostro setup.
- 3 server di hosting del codice (QA, stage e produzione)
- 3 rami principali di git (
dev
,stage
emaster
) per i rispettivi server - 10-15 sviluppatori che lavorano su git a volte lavorano sullo stesso file contemporaneamente.
- Gli sviluppatori possono solo unire e inviare a
dev
, i manutentori gestiscono le versioni del codice per lo stage e la produzione. - eventuali problemi vengono eseguiti nel proprio ramo estratto dal ramo
master
(a volte dal ramo connesso). - ogni ramo viene unito singolarmente ai rami principali. I problemi o le attività di
- hanno variato le date di rilascio in modo che il master non sia sempre aggiornato. A volte un problema da dev può richiedere mesi per andare al master / produzione.
Attualmente stiamo affrontando un bel po 'di problemi di conflitto di codice su dev
, il che sta anche sprecando molto del nostro tempo. Anche la cronologia o il grafico del codice sta cominciando ad apparire come lo spider web.
In precedenza ciò che avevamo era un setup lineare in cui ognuno si impegnava a svilupparsi, quindi i manutentori sceglierebbero i commit da mettere in scena o prod. Questa configurazione era più semplice per gli sviluppatori ma un incubo per i manutentori.
Se qualcuno ha esperienza con questo tipo di configurazione, si prega di avvisare su come hai semplificato il tuo lavoro? So che la comunicazione è la chiave qui, ma senza una persona dedicata lo trovo davvero impegnativo in questo momento.