Git conserva la storia delle modifiche di un progetto. Qui introduco il funzionamento del repository, la registrazione dei cambiamenti e i comandi essenziali — senza pretendere di esaurire uno strumento che è molto più grande di così.

Identità dell'autore e configurazione

Prima di registrare qualsiasi cosa, Git deve sapere quale nome e quale email associare ai commit. La configurazione globale vale per l'utente del computer; dentro un progetto puoi impostarne una diversa.

Attenzione a una confusione frequente: l'identità registrata nei commit non è l'autenticazione a un servizio remoto. Sono due cose separate — attribuire il lavoro e ottenere accesso al server.

Repository, area di preparazione e commit

Il repository conserva la storia. Nella cartella di lavoro modifichi i file. L'area di preparazione ti fa scegliere quali cambiamenti entrano nel prossimo commit.

Questa separazione è il concetto centrale, e all'inizio sembra un passaggio inutile. Non lo è: un commit dovrebbe descrivere un pezzo di lavoro comprensibile, con un messaggio che lo renda riconoscibile fra sei mesi.

Un percorso minimo

I comandi introduttivi ruotano attorno a poche operazioni: inizializzare o clonare un repository, controllarne lo stato, preparare le modifiche, registrarle.

Controllare lo stato prima del commit è l'abitudine che ti salva dall'includere file che non c'entrano nulla — e succede più spesso di quanto immagini.

Mostro anche l'integrazione con l'ambiente di sviluppo, con VSCodium. L'interfaccia grafica rende visibili le operazioni, ma conviene comunque sapere che cosa stai facendo sotto: quando qualcosa va storto, i pulsanti non bastano.

Git e i servizi di hosting non sono la stessa cosa

Git è il sistema di controllo delle versioni. Un servizio remoto ti permette di condividere repository e collaborare, ma non serve per capire come funziona la cronologia locale.

L'obiettivo del primo esercizio è modesto e concreto: sapere quali file sono cambiati, che cosa verrà registrato e come riconoscere quella modifica nella storia del progetto.