Vai al contenuto principale

Git checkout di un branch remoto: guida passo passo

Per eseguire il checkout di un branch remoto con Git, prima devi recuperare le ultime modifiche dal repository remoto, poi puoi fare il checkout del branch remoto in locale usando il suo nome completo (ad es., origin/nome-branch).
Aggiornato 29 set 2026  · 4 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Quando dobbiamo lavorare su un branch in un repository remoto, ad esempio il lavoro di un collega o un nuovo branch di funzionalità, ci troviamo di fronte alla sfida di accedere a quel branch in locale e aggiornarlo.

Per fortuna, Git semplifica questo processo offrendo comandi immediati per creare una copia locale del branch remoto. Questo ci permette di passare al branch desiderato, contribuire e collaborare in modo efficace con il team.

Per una risposta rapida, per fare il checkout di un branch chiamato <branch_name>, eseguiamo:

git fetch origin <branch_name>
git checkout -b <branch_name> origin/<branch_name>

In questo articolo esploriamo questi comandi e vediamo più in dettaglio come funzionano.

Il processo in due passaggi: git fetch e git checkout

Per iniziare a lavorare in locale su un branch remoto, dobbiamo prima assicurarci che il nostro repository locale sia aggiornato rispetto a quello remoto. Poi possiamo creare una copia locale e iniziare a lavorare su quel branch.

Aggiornare il repository locale

Per aggiornare il repository locale usiamo il git fetch command. Nella sua forma più semplice non usa argomenti:

git fetch

Quando viene usato senza argomenti, il comando git fetch recupera tutti i branch dal repository remoto predefinito. Sebbene questo includa il branch che ci interessa, occuperà anche più spazio su disco locale.

Se lo spazio su disco è un problema, possiamo specificare il branch da recuperare passandolo come parametro al comando:

git fetch origin <branch_name>

Sostituisci <branch_name> con il nome del branch desiderato. Il parametro origin specifica il nome del repository remoto. Per impostazione predefinita, quando cloniamo un repository, il remoto si chiama origin.

È importante notare che l’aggiornamento dei riferimenti remoti con fetch non influisce su alcun file locale né causa conflitti. In locale, esistono due entità distinte:

  • La working directory corrente
  • Il repository locale

Le nostre modifiche e i nostri commit attuali si trovano nella working directory corrente. Questi sono i file che vediamo quando apriamo la cartella del repository sul computer. Questi non vengono aggiornati con git fetch. Si aggiorna solo il repository locale, che possiamo considerare come una copia nascosta del repository remoto sulla nostra macchina.

Fare il checkout di un branch remoto

Con una copia aggiornata del repository remoto, ora possiamo creare una copia locale di un branch remoto usando il comando git checkout:

git checkout -b <branch_name> origin/<branch_name>

Sostituisci <branch_name> con il nome del branch remoto desiderato. Il primo parametro dopo -b è il nome che vogliamo assegnare al branch locale. Per convenzione usiamo lo stesso nome per entrambi, ma potremmo usare qualsiasi altro nome, a patto che nessun altro branch locale abbia già quel nome:

git checkout -b <local_branch_name> origin/<branch_name>

Dopo aver eseguito correttamente questo comando, Git passerà la working directory corrente a questo branch e saremo pronti per iniziare a lavorarci.

git checkout vs git switch

Il comando git checkout esiste fin dagli inizi di Git. Il suo ambito va oltre la creazione di copie locali di branch o il passaggio da un branch all’altro. Per esempio, può recuperare file specifici dal repository remoto.

Nelle versioni recenti di Git è stato introdotto il comando git switch, il cui unico scopo è creare copie locali di branch remoti e passare tra branch locali.

Ti consiglio di usare git switch invece di git checkout perché le capacità estese di git checkout a volte possono portare a errori.

Per imparare a eseguire le stesse azioni viste in questo articolo usando git switch, puoi leggere questo tutorial: Git Switch Branch: guida con esempi pratici.

Conclusione

Creare in locale una copia di un branch Git remoto è fondamentale per collaborare. Usando git fetch e git checkout, possiamo aggiornare il nostro repository locale con le modifiche remote e passare al branch desiderato.

Sebbene il classico git checkout offra funzionalità robuste, il più recente comando git switch propone un’alternativa snella, pensata specificamente per la gestione dei branch, riducendo il rischio di errori.

FAQs

Ricevo l'errore: "please commit your changes or stash them before you switch branches." Come lo risolvo?

Git impedisce di passare a un altro branch se quello corrente ha modifiche non confermate (uncommitted). Per risolvere, possiamo accantonare le modifiche o effettuare un commit.

Per fare il commit usiamo il seguente comando:

git commit -m "Commit message"

In alternativa, se vogliamo conservare le modifiche senza ancora committarle, possiamo usare il comando git stash per salvarle temporaneamente:

git stash

Più tardi potremo riapplicarle tornando al branch originale e usando il comando git stash pop.

E se il branch remoto ha lo stesso nome di un branch locale?

I nomi dei branch devono essere univoci in Git. Se riceviamo un errore che indica che il branch esiste già, significa che c’è un branch locale con lo stesso nome. Questo può voler dire due cose:

  1. Abbiamo già fatto il checkout di questo branch in passato. In questo caso, possiamo passarci direttamente senza fare fetch usando il comando git checkout <branch_name>. Nota che abbiamo omesso il parametro -b, usato per indicare che vogliamo creare un nuovo branch. Poiché il branch esiste già, non serve ricrearlo.
  2. A un certo punto abbiamo creato un branch diverso che però ha lo stesso nome. Possiamo risolvere usando un nome di branch differente con git checkout -b <different_name> origin/<branch_name>.

Posso apportare modifiche direttamente a un branch remoto?

No, le modifiche in un branch Git si fanno prima creando una copia locale del branch, come visto sopra, e poi creando commit che rappresentano le modifiche desiderate.

Come aggiorno il mio branch locale con le ultime modifiche remote?

Per aggiornare il nostro branch locale con le ultime modifiche dal corrispondente branch remoto, in genere usiamo il comando git pull:

git pull origin <branch_name>

Questo esegue sia un git fetch sia un git merge per aggiornare il branch locale. Abbiamo visto che git fetch aggiorna il repository locale con l’ultima versione remota. Il comando git merge unisce tali modifiche nel nostro branch locale. Per maggiori dettagli, consulta questo tutorial su Git push e pull.

Ricevo l'errore: "remote branch not found." Come lo risolvo?

Questo errore indica che il branch non esiste nella nostra copia locale del repository. Quindi o:

  1. Il branch non esiste, il che può indicare un refuso nel nome del branch o che si tratta di un branch vecchio già eliminato.
  2. Il repository locale non è aggiornato. Come visto sopra, possiamo aggiornarlo usando git fetch.

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

Scopri di più su Git!

Corso

Introduzione ai concetti di GitHub

2 ore
53.7K
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

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

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

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

Mostra AltroMostra Altro