Dopo aver sistemato i nostri rami fondamentali master e develop, passiamo subito alla gestione delle nuove funzionalità (feature) che implementiamo sul progetto.

Ogni nuova feature, quindi, dovrebbe avere il proprio branch, che deve essere presente anche su origin in modo da permettere agli altri sviluppatori di collaborare. I rami delle nuove funzionalità devono essere creati a partire da quello develop e, quando abbiamo completato lo sviluppo della funzionalità, deve essere unito (merge) di nuovo in develop. Non deve, MAI, essere unito direttamente a master .

Creare un feature branch

Vediamo come farlo con i comuni comandi git. Partiremo, come detto, dall’ultima versione del ramo develop:

Lo stesso esempio utilizzando git-flow :

È prassi che i nomi dei rami abbiamo la forma tipo/nome_ramo. Nel nostro caso il nome del nuovo branch è feature/nuova_funzione.

Completare un feature branch

Dopo aver completato lo sviluppo della nuova funzione, è ora di aggiornare il ramo develop con le ultime modifiche.

Con i semplici comandi git, ci spostiamo sui develop ed effettuiamo l’unione (merge) del ramo:

Utilizzando git-flow la forma è più breve:

Finito. A questo punto, le nostre novità scritte nel ramo feature/nuova_funzione  non sono pronte per essere rilasciate, essendo state unite nel ramo develop  e non in quello master che, come dicevamo, corrisponde alla versione pubblica del nostro progetto, cioè quella attualmente utilizzata dagli utenti.

Nel prossimo capitolo vedremo come affrontare una nuova release pubblica del nostro progetto.