Abbiamo qualcuno (chiamiamolo Ted) che è responsabile del test di nuove funzionalità e correzioni di bug.
Stiamo usando Git e GitHub . master
dovrebbe essere / è sempre distribuibile ed development
è il punto in cui commettiamo / uniamo nuove funzionalità o correzioni di bug, ma solo dopo che sono stati testati da Ted.
Il progetto è in PHP.
Vorrei che il processo di test procedesse così:
- Uno sviluppatore vuole lavorare su una nuova funzionalità (diciamo la funzione / bug # 123 come documentato da Ted nel tracker dei problemi), quindi accede
origin/development
aldevelopment
suo repository locale e crea un nuovo ramo (diciamoissue-123
) da lì. - Una volta che è soddisfatto del suo lavoro, si impegna e spinge il suo nuovo ramo
origin
. - Ted si collega
test.ourproject.com/choose-branch
e vede un elenco dei ramiorigin
attivi e sceglie di accenderloissue-123
(dovrebbe essere fattibile attraverso la pagina Web). Quindi continuatest.ourproject.com
, mette alla prova l'applicazione web (è davvero spietato) e dopo alcuni avanti e indietro con lo sviluppatore, è soddisfatto della funzionalità. - Ted dice lo sviluppatore che può immettersi
issue-123
sulladevelopment
onorigin
. - Risciacqua e ripeti.
Per il terzo passo, potrei hackerare qualcosa che fa il lavoro (mostrare e cambiare i rami da una pagina specifica), ma sento che quello che ho descritto è un modello molto comune.
Quindi la mia domanda è: è un flusso di lavoro buono / sostenibile / sostenibile per le ramificazioni? Puoi eseguire il backup della tua risposta citando alcuni esempi di altri progetti che seguono questo flusso di lavoro?
issue-123
riferisce al bug / funzione # 123 come Ted documenta ogni bug / nuova funzionalità sul nostro tracker di problemi.