Git, II° Parte – Branch

Git, II° Parte – Branch

 

 

Nel precedente articolo (https://www.sviluppomania.com/it/git/) abbiamo affrontato le basi di Git ma non abbiamo fatto altro che inizializzare una repository locale e creare il nostro primo commit. Ora dobbiamo procedere con lo sviluppo e dobbiamo tenere traccia delle versioni man mano che i bug vengono corretti. Oggi vediamo come le branch ci possono aiutare.

 

Cosa sono

 

Nel precedente articolo abbiamo notato che i commit vengono effettuati su una timeline che si chiama “master”. Questa è la famosa “linea del tempo” che ci consente di tornare nel passato in caso dovesse apparire un bug critico. Ma supponiamo che il progetto sia molto molto grande: non possiamo permetterci di sottomettere in un’ unica linea del tempo tutti i commit. Sarebbe più opportuno separare gli spazi di lavoro per ogni settore del progetto (front end, back end ecc) e sottomettere commit su linee separate lasciando intatta la linea originale. Bene Git ce lo consente e queste linee si chiamano Branches.

 

Come si usano

 

In base al tipo di progetto il project manager può decidere come separare i settori e come organizzare le branch, io vi propongo un modello che in ogni caso è sempre utile utilizzare.

 

Tipicamente il master è la branch che tiene conto di tutte le versioni rilasciate durante lo sviluppo, per intenderci quando leggete “Versione 2.3” significa la master branch (o la release branch) è rimasta alla versione 2.3 mentre gli sviluppatori stanno programmando su una branch separata la nuova versione. Quando concluderanno lo sviluppo, la procedura è quella di unire la branch di sviluppo a quella master/release e rilasciare quindi una nuova versione. Se non avete capito non vi preoccupate, continuate a leggere:

 

 

In questa immagine si vede chiaramente la potenza e l’utilità delle branches. Come già sappiamo, il primo commit del progetto viene fatto sulla master branch (di default).
Ora che abbiamo un commit sul master e vogliamo continuare a sviluppare, dobbiamo creare una branch sul quale apportare modifiche per le prossime versioni,  tipicamente si chiama development.

 

Creata development ci possiamo spostare su di essa. I prossimi commit quindi verranno registrati su questa branch. Ma anche quest’ultima branch funziona allo stesso modo di master. Da questa possiamo creare altre branch, magari per implementare nuove feature senza intaccare il progetto corrente, e applicarci una nuova serie di commit. Quando la feature è pronta possiamo unirla alla development branch.

 

Mani sul terminale

 

Ora vediamo effettivamente come creare delle branch. Per chi volesse evitare di usare il terminale più avanti spiego come fare per chi usa GitKraken.

 

Creiamo la branch:

 

git branch development

 

Ora ci spostiamo su di essa:

 

git checkout development

 

Piccola parentesi, questa procedura può essere fatta con un solo comando:

 

git checkout -b development

 

Il quale si occupa di creare e automaticamente selezionare development come branch attiva.

 

Su GitKraken

 

GitKraken fornisce strumenti comodissimi per queste operazioni, ci basta cliccare col tasto destro sulla branch dalla quale vogliamo creare una nuova biforcazione e cliccare su “Create branch here”.
Per spostarsi tra le branch basta sceglierle dal menu in alto dell’interfaccia.

 

Da qui siete in grado già di fare nuovi commit con GitKraken. Non vi ho detto però come si aggiungono i file da includere nel commit usando il terminale. Ecco come:
Diamo un’occhiata al progetto:

 

git status

 

Git ci mostrerà tutti i file che hanno subito modifiche, i file aggiunti e i file eliminati. Per aggiungerli alla lista eseguite:

 

git add nomefile1 nomefile2 nomefile3

 

o più rapidamente

 

git add *

 

se poi da questa lista volete escludere qualcosa eseguite

 

git reset file_da_non_includere

 

Non vi preoccupate se vi sembra un concetto tutto nuovo, nel prossimo articolo raggrupperò i comandi tipicamente più usati per qualsiasi tipo di progetto cosi che lo possiate consultare.

Prima di lasciarvi vi faccio vedere un’ultima cosa. I sistemi operativi linux sono numerosissimi. Mentre per Windows e MacOS possiamo scegliere solo la versione corrente, linux ci offre una vasta gamma di sistemi operativi diversi, ma basati tutti sullo stesso kernel.
Perché vi dico questo? Perché ogni distribuzione Linux è una branch!

 

Branches delle distribuzioni Debian

 

 

 

Questa è solo una piccola parte delle distribuzioni esistenti, ma come potete vedere, da Debian sono state create tante biforcazioni, ognuna delle quali ha le stesse funzionalità di Debian, ma può implementare nuove features che in Debian non ci sono. Tra le distro più famose di Debian c’è Ubuntu. A sua volta Ubuntu ha subito biforcazioni per creare distro come Kubuntu, Xubuntu, Edubuntu, Lubuntu eccetera.

 

Per oggi abbiamo finito, condividete se avete trovato utile!
Qui SviluppoMania, passo e chiudo

 

SviluppoMania

 

Copyright © SviluppoMania. All rights reserved.

 

 

 

SviluppoMania - Francesco Candurro

Articoli correlati

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.