Git Pull
Ultimo aggiornamento
git pull aggiorna il branch corrente con gli ultimi commit del suo remote. Dietro le quinte esegue git fetch per scaricare le modifiche, poi git merge per integrarle: quindi git pull = git fetch + git merge. Aggiungi --rebase per riapplicare i tuoi commit locali in cima invece di creare un commit di merge.
Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.
Sintassi
| Comando | Cosa fa |
|---|---|
git pull | Fetch e merge dal remote del branch corrente |
git pull origin main | Pull di un branch specifico da un remote |
git pull --rebase | Fetch, poi rebase dei tuoi commit in cima |
git pull --ff-only | Pull solo se è possibile un fast-forward (nessun merge) |
git pull --no-rebase | Forza un merge anche se il rebase è il predefinito |
Casi comuni
| Obiettivo | Comando |
|---|---|
| Avere le ultime modifiche sul tuo branch | git pull |
| Mantenere lineare la cronologia | git pull --rebase |
| Annullare un pull finito in conflitto | git merge --abort |
| Scartare i commit locali e allinearsi al remote | git fetch poi git reset --hard origin/main |
Domande frequenti su git pull
Cosa fa esattamente git pull?
Scarica dal remote gli ultimi commit del branch corrente e li integra nel tuo branch locale. È una scorciatoia per due comandi:
git fetch (download) seguito da git merge (integrazione). Se lo configuri, il passo di merge diventa invece un rebase.Che differenza c'è tra git pull e git fetch?
git fetch scarica soltanto le modifiche remote e aggiorna i branch di tracciamento remoti: non tocca il tuo branch di lavoro. git pull fa quel fetch e poi unisce le modifiche nel branch corrente. Usa fetch per rivedere prima le modifiche in arrivo; usa pull per prenderle e integrarle in un solo passo. Leggi il confronto completo git fetch vs pull per capire quando usare l'uno o l'altro.Cos'è git pull --rebase e quando usarlo?
git pull --rebase scarica i commit remoti e poi riapplica i tuoi commit locali sopra di essi, invece di creare un commit di merge. Mantiene lineare la cronologia, cosa che molti team preferiscono. Usalo quando hai commit locali non ancora inviati e vuoi evitare un commit di merge a ogni pull.Come risolvo i conflitti dopo un git pull?
Un pull può generare conflitti di merge quando le modifiche locali e quelle remote si sovrappongono. Apri i file in conflitto, risolvi le parti segnate, poi esegui
git add e git commit (per un merge) oppure git rebase --continue (per un pull con rebase). Se preferisci tornare indietro, esegui git merge --abort o git rebase --abort.Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire
git pull in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche come lavorare con i remote passo dopo passo.