NetworkMario
open main menu
git2
Part of series: versioning

Le Basi di Git: Una Guida Pratica

/ 5 min read
Last updated:

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"
Questi comandi impostano il nome e l’email che appariranno nei tuoi commit. L’opzione —global applica queste impostazioni a tutti i repository Git dell’utente.

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.