In breve: Il versioning serve a salvare e tracciare le modifiche al codice nel tempo. Permette di lavorare in gruppo senza perdere il lavoro.
Cos'è il versioning
Il versioning è un sistema che salva la storia di un progetto. Ogni volta che modifichi un file, puoi registrare il cambiamento.
Pensa a un videogioco con i salvataggi. Se sbagli, puoi tornare a una versione precedente. Il versioning fa la stessa cosa con il codice.
Questo metodo è utile soprattutto quando più persone lavorano sullo stesso progetto. Ognuno può modificare i file senza cancellare il lavoro degli altri.
Come funziona
Lo strumento più usato per il versioning si chiama Git. È un programma gratuito che gira sul computer.
Git lavora con una cartella speciale chiamata repository. Dentro la repository ci sono i file del progetto e la loro storia. Ogni modifica salvata si chiama commit.
Il commit è come una foto del progetto in un dato momento. Ogni commit ha una data, un autore e un messaggio. Il messaggio spiega cosa è stato cambiato.
Spesso Git viene usato insieme a una piattaforma online, come un sito che ospita le repository. Così il codice è disponibile a tutti i membri del gruppo.
Esempi pratici
Immagina di scrivere un programma per la scuola con due compagni.
Prima crei la repository con il comando di inizializzazione. Poi aggiungi i file e fai il primo commit con un messaggio chiaro, come "Aggiunta pagina di login".
Se il tuo compagno modifica un file mentre tu modifichi un altro, Git unisce i due lavori. Questa operazione si chiama merge.
Se ti accorgi di aver introdotto un errore, puoi tornare a un commit precedente. Il lavoro perso si recupera in pochi secondi.
I comandi base sono pochi: salvare le modifiche, scaricare gli aggiornamenti dei compagni e inviare i propri.
Parole difficili
- Repository: cartella speciale che contiene i file e la loro storia.
- Commit: salvataggio di una modifica, con data, autore e messaggio.
- Merge: operazione che unisce le modifiche di più persone in un unico file.
- Branch: ramo separato dove provare cambiamenti senza toccare il progetto principale.
- Push: invio dei propri commit verso la repository condivisa online.
- Pull: scaricamento delle modifiche fatte dagli altri sul proprio computer.
Riferimenti
- Norma: Norme generali e livelli essenziali delle prestazioni relativi al secondo ciclo del sistema educativo di istruzione e formazione
- Obiettivo formativo coperto: ob.iefp-tecnico-informatico.competenze-tecnico-professionali.cl3.installazione-hardware-software.07