Vengono usati i branch per isolare lo sviluppo di una funzione o fix rispetto al branch principale del repository. Solo una volta completato lo sviluppo la feature viene riportata sul branch principale.
I feature branch in Git sono uploadati sull’unico repository remoto e più sviluppatori possono contribuire all’implementazione della feature.
Il “merge” della feature nel branch principale viene abitualmente realizzato tramite gli strumenti messi a disposizione dal servizio di hosting del repository. A tal proposito, vale la pena puntualizzare che servizi come GitHub, GitLab o Bitbucket (di cui ti abbiamo già parlato nella sezione su i principali repository online di Git) offrono agli utenti, oltre all’effettivo repository Git, anche una serie di strumenti aggiuntivi come, ad esempio, la gestione delle cosiddette pull/merge request, che permettono di operare, per l’appunto, il merge di un feature branch nel ramo principale direttamente sul repository remoto.
Vantaggi:
- il branch principale di sviluppo può rimanere pulito finché la feature non è completa
- le feature possono essere condivise anche prima di essere completate
- più sviluppatori possono lavorare in contemporanea a una feature
Svantaggi:
- più tempo richiede lo sviluppo della feature, più ci sono possibilità che il feature branch abbia conflitti rispetto al branch principale
poiché i branch sono usati solo per “aggiungere” feature, non è possibile gestire un progetto che possa richiede rilasci di più versioni non compatibili