Vai al contenuto principale

Git Clone Branch: un tutorial passo dopo passo

Per clonare un branch specifico, usa il comando git clone --single-branch --branch , sostituendo con il branch desiderato e con l'URL del repository.
Aggiornato 29 set 2026

Scopri con l'IA

ChatGPTClaudePerplexity

Immagina di scrivere un libro e voler sperimentare nuove idee senza rovinare l'originale. Potresti iniziare un nuovo quaderno per ogni idea, tenendo le bozze separate.

Git, un sistema di controllo versione, permette agli sviluppatori di fare lo stesso con il codice tramite i "branch". Ogni branch è come un percorso di sviluppo separato, che ti consente di esplorare modifiche senza influenzare il codice principale.

Analogia del branch Git clone con un libro

In questo articolo ti guiderò all'uso di git clone, con un focus sulla clonazione di branch specifici. Se vuoi approfondire Git, ti consiglio questo corso Introduction to Git.

Iniziamo con una risposta breve per chi va di fretta. Poi entreremo nei dettagli.

Risposta breve: come clonare un branch specifico

Per clonare un branch specifico da un repository git, usa il comando:

git clone --single-branch --branch <branch_name> <repository_url>

Sostituisci <branch_name> con il nome del branch desiderato e <repository_url> con l'URL del repository. Questo comando crea una copia locale del branch specificato, permettendoti di iniziare subito a lavorare in modo mirato su quel branch.

Esempio

Nel corso dell'articolo useremo questo repository. Puoi usarlo per provare i comandi che impari sulla tua macchina. Il repository contiene tre branch:

  1. main: Il branch predefinito con due file di testo.
  2. add-new-file: Un branch in cui è stato aggiunto un terzo file.
  3. modify-file: Un branch in cui è stato modificato il secondo file.

Ecco come possiamo clonare il branch add-new-file:

git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git

Che cos'è git clone?

Per impostazione predefinita, git clone è pensato per copiare l'intero repository in una nuova directory sulla tua macchina locale, clonato con tutti i branch. Ecco la sintassi:

git clone <repository_url>

Per clonare il repository di esempio, possiamo fare così:

git clone https://github.com/fran-aubry/git-clone-example.git

Dopo aver eseguito questo comando, tutti i branch saranno copiati sulla tua macchina locale. Tuttavia, solo i file di un branch sono visibili alla volta, detto branch checked-out. Dopo aver clonato un repository, viene effettuato il checkout del branch predefinito (di solito chiamato main o master).

branch selezionato di default dopo git clone

Cambiare branch

Dopo un clone completo, puoi passare (checkout) al branch desiderato usando il comando git checkout. Per esempio, per fare il checkout del branch modify-file, faremmo così:

git checkout modify-file

git checkout branch

Profondità della clonazione

Quando lavori con git, le modifiche a un branch vengono salvate effettuando commit con il comando git commit. Ogni commit crea un nuovo stato di quel branch, a cui potrai tornare in seguito se necessario. Pensa a ogni commit come a uno scatto: git tiene traccia di tutti questi "snapshot". Puoi riportare un branch a uno qualsiasi di questi snapshot in qualsiasi momento.

Il comando git clone, se usato senza opzioni, scarica ogni commit di ogni branch sulla tua macchina locale. A seconda delle dimensioni del progetto, ciò potrebbe occupare molto spazio di archiviazione locale. Se sai che non ti serve l'intera cronologia, puoi usare il parametro --depth per specificare quanti commit (o snapshot) vuoi clonare. 

Per clonare il branch main caricando solo il commit più recente, usa il seguente comando:

git clone --depth=1 https://github.com/fran-aubry/git-clone-example.git

Clonare un branch specifico

Abbiamo visto come clonare un repository usando git clone. Per impostazione predefinita, questo comando clona tutto sulla tua macchina locale. Spesso però ti interessa lavorare solo su un branch specifico, quindi è più efficiente clonare solo quel branch. Questo approccio risparmia spazio su disco e ti permette di iniziare a lavorare subito senza dover cambiare branch dopo la clonazione.

Riprendendo l'analogia del libro, immagina di essere assegnato alla riscrittura del secondo capitolo. In questo caso, dovresti clonare solo il branch in cui si svolge questo lavoro, perché non è necessario avere accesso ai branch relativi alla revisione degli altri capitoli.

Puoi dire a git di clonare un singolo branch aggiungendo gli argomenti --single-branch e --branch seguiti dal nome del branch:

git clone --single-branch --branch <branch_name> <repository_url>

Vediamo nel dettaglio il comando:

  • git clone: Il comando git di base usato per copiare un repository da una sorgente remota sulla tua macchina locale.
  • --single-branch: Questa opzione indica a Git di clonare solo un singolo branch. Se non specifichi un branch, verrà clonato quello predefinito.
  • --branch <branch_name>: Questa opzione specifica il branch da clonare. <branch_name> è il nome del branch che vuoi clonare.
  • <repository_url>: L'URL del repository.

 Per esempio, per clonare solo il branch modify-file dal nostro repository, possiamo fare così:

git clone --single-branch --branch add-new-file https://github.com/fran-aubry/git-clone-example.git

Come lavorare con un branch clonato

Quando lavori su un branch, ci sono tre operazioni essenziali da fare:

  1. Salvare il lavoro corrente creando uno snapshot dello stato attuale.
  2. Caricare le modifiche in modo che siano accessibili a tutti.
  3. Scaricare le modifiche degli altri e integrarle con le tue.

Salvare le modifiche con git commit

In Git, salvare il lavoro si chiama creare un commit. Questo processo crea uno snapshot dello stato attuale del branch su cui stai lavorando.

Lo stato del branch viene salvato sulla tua macchina locale dopo ogni commit, permettendoti di navigare tra i vari stadi di avanzamento.

illustrazione dei commit su un branch Git

Per effettuare un commit in git, usi il comando git commit. Tuttavia, prima di fare il commit, git deve sapere quali file includere. Specifichi i file da salvare con il comando git add. La sintassi è la seguente:

git add <path_to_file>

Nella sintassi, <path_to_file> è il percorso del file che vuoi includere nel commit. Per esempio, se siamo sul branch modify-file del nostro repository di esempio e abbiamo aggiunto un paragrafo a file2.txt, aggiungeremmo quel file eseguendo:

git add file2.txt

Dopo aver aggiunto tutti i file che vuoi includere nel commit, puoi procedere con il commit eseguendo:

git commit -m <message>

Qui l'argomento <message> dovrebbe essere un messaggio conciso racchiuso tra doppi apici, che descriva brevemente le modifiche. Per esempio:

git commit -m "Add paragraph"

Ecco alcune convenzioni per il messaggio di commit. Sono fondamentali per garantire chiarezza e comprensione tra tutti i membri del progetto:

  • Usa l'imperativo: Inizia il messaggio con un verbo all'imperativo (es. "Add", "Fix", "Update"). Per esempio, invece di "Added new feature", scrivi "Add new feature".
  • Sii conciso ma descrittivo: Punta a un messaggio breve, idealmente sotto i 50 caratteri. Tuttavia, dai priorità alla chiarezza nel descrivere le modifiche. Invece di "Changed stuff", scrivi "Update styling for navigation bar".
  • Evita messaggi generici: Evita messaggi vaghi come "Fix bugs" o "Make improvements". Invece, sii specifico: "Fix bug in login form validation" o "Improve readability of documentation".

Caricare le modifiche con git push

Quando fai un commit, crei uno snapshot delle modifiche sulla tua macchina locale. Perché gli altri possano accedervi, devi caricarle. Per farlo, usi il comando push.

La sintassi di base di push in Git è:

git push <remote> <branch>

Vediamola nel dettaglio:

  • <remote>: Il nome del repository remoto su cui vuoi fare push delle modifiche. Per impostazione predefinita, quando cloni un repository, il remoto si chiama origin.
  • <branch>: Il nome del branch di cui vuoi inviare le modifiche al repository remoto. Se ometti questo argomento, Git farà push in base al branch corrente e alle configurazioni di tracking remoto.

Ecco alcuni casi d'uso comuni di git push:

  • Inviare le modifiche dal branch corrente: git push
  • Inviare le modifiche da un branch specifico: git push origin <branch>

Scaricare le modifiche con git pull

Git permette a team numerosi di lavorare in parallelo sullo stesso progetto. Quando i colleghi modificano lo stesso branch su cui stai lavorando tu, il tuo branch locale può diventare non aggiornato rispetto al remoto.

Per scaricare i commit degli altri, usiamo il comando git pull. La sintassi di base del comando di pull in git è:

git pull <remote> <branch>

Ecco cosa fa ciascun parametro:

  • <remote>: Il nome del repository remoto da cui vuoi eseguire il pull. Per impostazione predefinita, questo repository si chiama origin.
  • <branch>: Il nome del branch da cui desideri prelevare le modifiche. Se non specificato, git usa il branch corrente insieme al suo upstream.

Ecco alcuni casi d'uso comuni di git pull:

  • Prelevare le modifiche dal branch corrente: git pull
  • Prelevare le modifiche da un branch specifico: git pull origin <branch>

Workflow commit-pull-push

Usando Git, ti consiglio di eseguire frequentemente pull per mantenere aggiornato il tuo branch locale. Ecco alcune buone pratiche che suggerisco di seguire:

  • Prima di iniziare a lavorare, esegui un pull degli ultimi aggiornamenti del branch corrente per assicurarti di partire dalla versione più recente.
  • Fai commit spesso, assicurandoti che ogni commit si concentri su modifiche piccole e logicamente correlate.
  • Dopo aver fatto alcune modifiche e un commit, esegui di nuovo un pull per aggiornare il branch, nel caso qualcun altro abbia apportato cambiamenti nel frattempo.
  • Infine, invia le tue modifiche al repository remoto con un push.

Workflow Git

Conflitti in Git

Quando esegui il comando git pull per scaricare modifiche da un repository remoto, può capitare che un altro commit abbia modificato le stesse righe dei tuoi commit locali. Git cerca di unire automaticamente le modifiche e, in molti casi, ci riesce. Per esempio, se le modifiche riguardano parti diverse dello stesso file, Git può fonderle senza problemi perché i commit toccano sezioni distinte.

Tuttavia, se tu e un altro contributore avete modificato lo stesso paragrafo, git non sarà in grado di stabilire quale versione mantenere, causando un conflitto di merge. In questo caso dovrai risolvere manualmente il conflitto decidendo quali modifiche conservare.

Per ulteriori indicazioni sulla risoluzione dei conflitti, ti consiglio di leggere questo articolo su come risolvere i conflitti di merge in Git.

Download da GitHub

In alcuni casi, ti serve una copia locale di un repository da usare senza l'intenzione di modificarlo. Se è un repository pubblico, non è necessario installare Git sulla tua macchina locale. Puoi scaricare direttamente il repository da GitHub facendo clic sul pulsante Code e poi su Download Zip, come mostrato qui sotto:

Esempio di download da GitHub

Conclusione

La clonazione con Git ti permette di copiare un repository Git sulla tua macchina locale, così da poter utilizzare il codice o ampliare il progetto aggiungendo nuove funzionalità. Quando cloni un repository, tutti i branch vengono scaricati, e ciò può consumare una quantità significativa di spazio su disco.

I branch vengono usati per lavorare su modifiche o funzionalità specifiche. Clonare un branch specifico ti consente di contribuire a quelle modifiche senza scaricare lavori non correlati, richiedendo quindi molto meno spazio e mantenendo il disco locale più pulito.

Se vuoi approfondire l'argomento, ti consiglio questo GitHub and Git Tutorial for Beginners.


François Aubry's photo
Author
François Aubry
LinkedIn
Ingegnere full‑stack e fondatore di CheapGPT. Insegnare è sempre stata la mia passione. Fin dai primi anni da studente, cercavo con entusiasmo occasioni per fare da tutor e aiutare altri studenti. Questa passione mi ha portato a intraprendere un dottorato, durante il quale ho anche svolto il ruolo di assistente alla didattica a supporto del mio percorso accademico. In quegli anni ho trovato enorme soddisfazione nell'ambiente tradizionale dell'aula, creando connessioni e facilitando l'apprendimento. Con l'avvento delle piattaforme di apprendimento online, però, ho riconosciuto il potenziale trasformativo dell'educazione digitale. Di fatto, ho partecipato attivamente allo sviluppo di una di queste piattaforme nella nostra università. Sono profondamente impegnato a integrare i principi dell'insegnamento tradizionale con metodologie digitali innovative. La mia passione è creare corsi non solo coinvolgenti e informativi, ma anche accessibili a chi apprende in questa era digitale.
Argomenti
Git

Impara Git con questi corsi!

Corso

Introduzione ai concetti di GitHub

2 ore
53.6K
Impara a usare le varie funzioni di GitHub, a muoverti nell'interfaccia e a fare le cose di tutti i giorni in modo collaborativo.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro