Ho trovato molti post su come organizzare il lavoro sullo sviluppo del ramo e fino al rilascio del ramo. O anche come lavorare senza il ramo di sviluppo. La tendenza del ramo "sviluppo" che va via , strategia di branching di GitFlow, ma senza il ramo di sviluppo , Per diramare o meno per ramo? ... Ma ho problemi su come organizzare il lavoro prima il ramo di sviluppo.
Se creiamo un nuovo ramo per ogni attività (ticket) e lo inseriamo nel ramo di sviluppo comune, funziona correttamente con i progetti più piccoli.
Ma ho visto progetti più grandi in cui è stato utilizzato lo schema più complicato: per le attività connesse sono stati creati alcuni rami di livello medio e successivamente i rami di ticket non sono stati trasferiti al ramo sviluppatore, ma al ramo di livello medio appropriato. E capisco perché - Se il progetto è così complicato che più di una persona lavora sullo stesso tema e questi sviluppatori iniziano ad avere problemi con le modifiche apportate da altri sul ramo sviluppatori durante il tempo in cui sta aspettando le reazioni e le approvazioni del richiama la richiesta e mentre lavora sulle riparazioni appropriate e deve risolvere i conflitti apparenti ancora e ancora. Pensavo che il ramo di livello medio potesse essere temporaneamente bloccato e quindi tutti i partecipanti potevano spingerlo a turno e ciò avrebbe praticamente impedito i conflitti. Ma ho troppa poca esperienza nell'organizzazione di grandi repository e non ne sono affatto sicuro.
Nella descrizione della strategia GitFlow, link , i disegni hanno questo schema a due piani. Ma questa parte e il suo uso pratico non sono spiegati nemmeno un po '.
La domanda è: lo schema di due livelli di attività costituisce una soluzione necessaria e sufficiente per il problema? E come dovrebbe essere usato per essere quella soluzione?
Modifica: non sto parlando di filiali create da molto tempo per alcuni reparti. Capisco che sono inefficaci. Immagina che entrambi dobbiamo fare alcune funzionalità che toccano le stesse classi diverse. Abbiamo bisogno di risolvere i nostri conflitti di codice sul ramo di sviluppo? E se lo facciamo sul ramo attività comune, allora abbiamo esattamente quello di cui sto parlando: rami locali separati e un ramo tematico comune nel repository.