Version Control System: il mondo di Git

 

 

Il concetto di Version Control System nasce con la necessità da parte degli sviluppatori di versionare e tenere sotto controllo il codice che entra a fare parte della code base di un progetto software.

Cos’è un Version Control System e perché è importante utilizzarlo

Prima dell’avvento dei VCS, per versionare il codice, si utilizzavano sistemi rudimentali e non standardizzati: copiare il codice in una nuova directory per ogni versione (V1.0, V1.1, ecc), mantenere un lungo file di changelog, e così via.

L’approccio allo sviluppo, utilizzando per esempio Git, diventa totalmente diverso.

Una volta inizializzato un cosiddetto “repository”, Git effettua una fotografia dello stato corrente dei file, e permette, man mano che si apportano modifiche, di aggiungerle alla codebase registrandole sotto forma di commit.

Il commit è l’unità minima del version control ed è costituito da:

  • un diff delle modifiche apportate ovvero un’indicazione di quali righe sono state aggiunte, tolte o modificate all’interno dei file;
  • un messaggio, che fornisce una spiegazione delle modifiche apportate e ne illustra brevemente le motivazioni e le scelte implementative.

Gitlab flow: strategie di merge

Quando gli sviluppatori lavorano a una particolare feature, raggruppano i commit in oggetti più strutturati e complessi chiamati branch.

Nella maggior parte dei progetti il branch principale (di rilascio) è chiamato master o main; gli sviluppatori creano i loro branch, vi aggiungono dei commit con le loro modifiche, e poi effettuano un cosiddetto merge sul branch principale.

Questo può avvenire in due diverse formule, entrambe molto popolari ed efficaci:

  • Git flow: questo approccio prevede che si utilizzi il branch main soltanto per le release vere e proprie; lo sviluppo avviene su un branch di development (dev, develop, ecc) che chi programma prende come punto di partenza per creare i propri branch con feature e bug fix. Questi branch confluiscono poi sul branch di development, che quando raggiunge uno stadio maturo per la release confluisce a sua volta in main. 
  • Gitlab flow: questa strategia prevede, invece, che gli sviluppatori partano sempre e solo dal branch main, creando i propri branch di sviluppo, che poi vengono lì direttamente mergiati.

Il Gitlab flow è stato pensato come alternativa più snella ed agile rispetto al tradizionale Git flow. Grazie ad esso è possibile effettuare release più frequenti – in quanto main viene aggiornato più spesso – diminuendo i tempi per la risoluzione di bug e l’implementazione di funzionalità.

Il Version control system per i web developer

L’offerta formativa di ITS presenta corsi in ambito IT all’avanguardia, tenuti da professionisti del settore e volti all’inserimento lavorativo. Il Corso di Web Developer prevede, infatti, tra le diverse materie proposte anche “Fondamenti di Version Control” per garantire uno strumento indispensabile in ogni professione che abbia a che fare con lo sviluppo e, in modo crescente, anche con il mantenimento di infrastrutture.

 

Valutazione su Emagister per ITS ICT Piemonte
ECCELLENTE
Valutazione 5 stelle su Emagister per ITS ICT Piemonte
5,0/5
Emagister:
Dai la tua opinione su Fondazione ITS per le Tecnologie dell’informazione e della Comunicazione per il Piemonte
Badge Cumlaude su Emagister per ITS ICT Piemonte
Badge Cumlaude 2019 su Emagister per ITS ICT Piemonte
Fondazione ITS per le Tecnologie dell’informazione e della Comunicazione per il Piemonte
Linkedin Higher Education
Segui su Linkedin Fondazione ITS per le Tecnologie dell’informazione e della Comunicazione per il Piemonte