La risposta breve: Sì, i rami per le correzioni di bug che entreranno in una prossima versione pianificata dovrebbero trovarsi nei rami delle funzionalità. Il modo in cui nominate i rami delle caratteristiche o questi rami per le correzioni di bug dipende da voi e dagli standard del vostro team, ma dovrebbero essere trattati in modo identico se seguite Gitflow.
Il commento di Bart van Ingen Schenau solleva un buon punto.
Gitflow ha cinque tipi di filiale: master
, develop
, rami di aggiornamento rapido (con prefisso hotfix-
), rami di rilascio (con prefisso release-
, e dispongono di rami Il. master
E develop
rami sono rami di lunga durata e non si impegnano direttamente in loro i. release-
Rami sono fatti per disegnare una linea per una versione particolare e quindi supportare correzioni di bug tra l'identificazione della versione successiva e la versione. I hotfix-
rami sono specificamente per le versioni critiche, fuori ciclo di produzione. I feature-
rami sono per lo sviluppo di funzionalità individuali per alcune versioni future.
Venendo da ambienti in cui si utilizzano PR e, a parte un singolo sviluppatore di impegnarsi in un ramo di caratteristica, nulla deve essere impegnato direttamente nella master
, develop
o un ramo di release. Questo assicura che ogni modifica venga revisionata dal codice, oltre a garantire un'adeguata copertura dei test e passare i test in un ambiente CI prima che entrino in vigore le modifiche. Sarei contrario a qualsiasi commit direttamente in uno di questi rami, anche se sembra che Gitflow da solo non lo faccia ' non ci sono problemi nel commettere correzioni di bug pre-release o modifiche direttamente nel ramo di rilascio e quindi nel tirarle nello sviluppo e quindi nei rami delle caratteristiche.
Nel tuo caso particolare, una release-
filiale non è un posto appropriato. Il software è già stato rilasciato ed è disponibile master
. Una volta che una versione è unita in master e taggata lì, il ramo di rilascio per quella particolare versione ha superato il suo scopo e non deve necessariamente più esistere. Se sei attivo nel ripulire i tuoi rami (cosa che penso dovrebbero essere tutti), allora questa non è nemmeno un'opzione.
Se la correzione non è critica, non sembra adattarsi nemmeno a un ramo di aggiornamento rapido. Lo scopo di un ramo hotfix è quello di consentire a qualcuno di ottenere cambiamenti critici nella produzione molto rapidamente senza interferire con lo sviluppo in corso. L'uso di questi dovrebbe essere l'eccezione piuttosto che la norma per un team di sviluppo. In generale, gli hotfix critici dovrebbero essere un caso eccezionale.
L'unica cosa rimasta è un ramo di funzionalità. Si noti che la sezione della pagina collegata alla domanda sui rami delle caratteristiche dice anche che i rami delle caratteristiche sono "a volte chiamati rami degli argomenti". Se la modifica è destinata a qualsiasi versione imminente e non soddisfa i criteri per un aggiornamento rapido, dovrebbe trovarsi in uno di questi rami.