Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git pull [--rebase] [--ff-only] [<remote> [<branch>]]

Descrizione

Il comando git pull è una scorciatoia per git fetch seguito da un passo di integrazione (merge per default, rebase opzionalmente). Aggiorna il tuo branch corrente per incorporare le modifiche upstream. Molti team preferiscono configurare pull.rebase = true o usare git pull --rebase per mantenere lineare la storia.

Se il tuo branch e l'upstream sono divergenti, git pull può produrre un merge commit. Con --ff-only, il pull fallirà piuttosto che creare un merge — utile quando vuoi essere sicuro che il tuo branch locale sia solo indietro, non divergente.

Nell'uso quotidiano, git pull si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Opzioni comuni

OpzioneDescrizione
--rebaseRebasa i commit locali sopra le modifiche scaricate.
--ff-onlySolo fast-forward; aborta se sarebbe necessario un merge.
--no-ffCrea sempre un merge commit.
--allFa fetch da tutti i remote prima di integrare.
--autostashFa stash delle modifiche locali prima del pull e fa pop dopo.
--pruneRimuove i tracking branch obsoleti come parte del fetch.

Esempi

git pull
# Default: scarica e mergia dall'upstream configurato

git pull --rebase origin main
# Rebasa i commit locali sull'ultimo origin/main

git pull --ff-only
# Rifiuta di creare un merge commit

git config --global pull.rebase true
# Rende il rebase il default per ogni pull

Errori comuni

Fare pull con modifiche non committate può far rifiutare il merge a Git. O committa, fai stash, o usa --autostash. Fare pull su un branch divergente spesso produce merge commit inaspettati. Usa --ff-only come rete di sicurezza o rebase esplicitamente.

Comandi correlati

git fetch, git merge, git rebase, git push