Sto usando GitFlow per le mie convenzioni di sviluppo. In generale, creo una user story e una funzione di abbinamento si distacca dal mio ramo di sviluppo e lavoro su quello. Una volta che la storia è completa, la funzionalità è completa e unita (rebased) di nuovo in sviluppo.
Tuttavia, ora sto riscontrando il problema in cui la mia funzionalità è piuttosto più epica. C'è una quantità significativa di sviluppo che sarà richiesta prima che la funzionalità (epic) possa essere consegnata (deve essere consegnata come un singolo deliverable). Ma lavorare solo in 1 feature branch non è appropriato.
Detto questo, qual è la convenzione appropriata per fare qualcosa del genere? Creo il mio ramo epico chiamato feature / MyEpicName e poi dico a tutti i miei sviluppatori di usare feature / MyEpicName come loro equivalente "sviluppo" ramo? Avrebbero quindi creato tutti i loro rami di funzionalità basati su quel ramo e unendo le loro modifiche a quel ramo.
Tuttavia, se seguo un processo del genere, la mia convenzione di denominazione inizia a diventare instabile. Normalmente (per convenzione), feature / xxxx implica un ramo di funzionalità dal ramo di sviluppo. Se i miei sviluppatori utilizzano la funzione / MyEpicName come ramo "di sviluppo", continueranno a creare la propria funzione / succursale. Ma poi diventa un caos gigantesco per cercare di capire quale caratteristica è derivata dallo sviluppo e che è ramificata dall'epica.
Esiste una convenzione / processo di denominazione accettabile per gestire questo tipo di situazioni? Chiamano la funzione di feature branch / MyEpicName / xxxxyyyy?
Il secondo interromperà alcuni degli strumenti / script? Es: gitflow hooks, smartgit, ecc.