Le Basi di Git: Una Guida Pratica
Git è un sistema di controllo versione distribuito, utilizzato principalmente per gestire progetti di sviluppo software. La sua caratteristica principale è la capacità di tracciare i cambiamenti all’interno del codice sorgente in modo che gli sviluppatori possano collaborare in maniera efficiente. A differenza di sistemi di controllo versione centralizzati, Git consente a ogni sviluppatore di avere una copia completa del repository sul proprio computer, rendendo le operazioni più rapide e flessibili.
Configurazione Iniziale
Prima di iniziare a utilizzare Git, è necessario configurare alcune informazioni di base:
git config --global user.name "Il Tuo Nome"
git config --global user.email "tuoemail@example.com"
Creazione di un Nuovo Repository
Per iniziare a utilizzare Git in un nuovo progetto, si può creare un nuovo repository (repo):
git init
Aggiungere e Commitare File
Una volta che hai modificato o aggiunto nuovi file al tuo progetto, dovrai aggiungerli all’indice (o stage) prima di poterli committare:
git add nomefile.txt
Puoi anche aggiungere tutti i file modificati usando:
git add .
Il comando .
aggiunge tutti i file nella directory corrente e nelle sottodirectory.
Dopo aver aggiunto i file all’indice, puoi creare un commit, che salva una snapshot dei file in quel momento:
git commit -m "Messaggio del commit"
Il messaggio del commit dovrebbe descrivere brevemente i cambiamenti apportati.
Visualizzare lo Stato del Repository
Per vedere lo stato attuale del repository, inclusi i file modificati e quelli pronti per essere committati, utilizza:
git status
Questo comando ti dà un’idea di cosa è cambiato nel progetto rispetto all’ultimo commit.
Visualizzare la Storia del Progetto
Git tiene traccia di tutti i commit fatti nel progetto. Puoi visualizzare la storia dei commit con:
git log
Questo comando mostra l’elenco dei commit, con dettagli come l’autore, la data e il messaggio del commit. Se desideri una versione più compatta, puoi usare:
git log --oneline
Gestire i Rami (Branches)
I rami in Git permettono di lavorare su funzionalità o correzioni di bug in modo isolato. Per creare un nuovo ramo e passare a esso:
git checkout -b nome-branch
Questo comando crea un nuovo ramo e sposta il puntatore del repository su di esso. Per tornare al ramo principale (solitamente chiamato main o master):
git checkout main
Per vedere tutti i rami disponibili:
git branch
Unire i branch
Dopo aver completato il lavoro su un ramo, è possibile unirlo al ramo principale:
git checkout main
git merge nome-branch
Questo comando unisce le modifiche del ramo nome-ramo nel ramo main. Se ci sono conflitti tra i cambiamenti dei due rami, Git ti chiederà di risolverli manualmente.
Visualizzare le Differenze con git diff
Il comando git diff è utilizzato per confrontare le differenze tra varie versioni di file nel tuo repository. È utile per vedere cosa è cambiato tra il contenuto dei file e quello già registrato nei commit.
Differenze non aggiunte all’indice
Se vuoi vedere le modifiche apportate ai file che non sono ancora state aggiunte all’indice (staged), puoi usare:
git diff
Questo comando ti mostrerà le differenze tra il file modificato nella tua directory di lavoro e la versione salvata nell’ultimo commit o aggiunta all’indice.
Differenze tra l’indice e l’ultimo commit
Per visualizzare le differenze tra i file nell’indice e l’ultimo commit, utilizza:
git diff --staged
Questo comando è utile per rivedere le modifiche che hai già aggiunto all’indice ma non ancora committato.
Differenze tra due commit
Se vuoi confrontare le differenze tra due specifici commit, puoi utilizzare:
git diff commit1 commit2
Sostituisci commit1 e commit2 con gli hash dei commit o con i riferimenti (come HEAD, HEAD~1, ecc.). Questo comando ti mostrerà le differenze tra i due commit specificati.
Differenze tra rami
Se vuoi vedere le differenze tra due rami diversi, usa:
git diff ramo1 ramo2
Questo comando confronta tutte le modifiche tra i due rami, ramo1 e ramo2.
Differenze in un singolo file
Se ti interessa solo vedere le differenze in un singolo file, puoi specificarlo alla fine del comando git diff:
git diff nomefile.txt
Esempio Pratico di git diff
Supponiamo di lavorare su un file chiamato script.py. Hai fatto delle modifiche al file ma non le hai ancora aggiunte all’indice. Puoi visualizzare le modifiche usando:
git diff script.py
Vedrai un output che ti mostra le righe aggiunte, modificate o eliminate. Le righe aggiunte saranno precedute da un segno +, mentre quelle rimosse saranno precedute da un segno -.
Clonare un Repository Esistente
Se vuoi iniziare a lavorare su un progetto esistente, puoi clonare un repository remoto:
git clone https://github.com/utente/repository.git
Questo comando crea una copia locale del repository remoto, che puoi poi modificare e aggiornare.
Collaborare con Remoti
Git permette di collaborare con altri sviluppatori tramite repository remoti. Per aggiungere un repository remoto:
git remote add origin https://github.com/utente/repository.git
Per inviare le tue modifiche al repository remoto:
git push origin main
Se hai clonato un repository e vuoi aggiornare la tua copia locale con le ultime modifiche:
git fetch
git pull origin main
Conclusione
Git è uno strumento potente e flessibile per la gestione dei progetti di sviluppo. Con le basi coperte in questa guida, sarai in grado di iniziare a lavorare con Git in modo efficiente. Continuando a esplorare e a utilizzare i comandi di Git, ti accorgerai presto della sua importanza nel flusso di lavoro quotidiano degli sviluppatori.