Par Anonyme (non vérifié) , 29 avril 2026

Synopsis

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

Description

The git pull command is shorthand for git fetch followed by an integration step (merge by default, rebase optionally). It updates your current branch to incorporate upstream changes. Many teams prefer to configure pull.rebase = true or use git pull --rebase to keep history linear.

If your branch and the upstream have diverged, git pull may produce a merge commit. With --ff-only, the pull will fail rather than create a merge — useful when you want to be sure your local branch is just behind, not divergent.

Dans l'usage quotidien, git pull s'intègre étroitement avec les alias de shell, les plugins d'éditeur et l'intégration continue. Les utilisateurs avancés ajoutent souvent des alias combinant les flags qu'ils passent toujours, ou enveloppent la commande dans des scripts qui appliquent les conventions d'équipe. Le formatage de la sortie peut être personnalisé via la configuration Git — pretty formats, schémas de couleurs et comportement du pager sont tous ajustables. Quand quelque chose tourne mal, la première étape de diagnostic est généralement de relancer la commande avec GIT_TRACE=1 dans l'environnement, ce qui révèle les appels de plomberie sous-jacents. Pour les situations inhabituelles, la sortie --help (git pull --help) ouvre la page de manuel complète avec les détails de chaque option, y compris celles rarement utilisées dans les workflows ordinaires mais essentielles pour le débogage ou le scripting à grande échelle.

Comprendre comment git pull interagit avec le reste du modèle de données de Git — la base d'objets, l'index, les refs et l'arborescence de travail — est rentable. Chaque commande opère sur un sous-ensemble de ces pièces, et savoir laquelle elle touche aide à prédire les résultats et récupérer après les erreurs. Lire la documentation officielle de Git en parallèle de la pratique sur un dépôt jetable est la façon la plus rapide d'intérioriser les subtilités. La plupart des problèmes de production avec Git proviennent de l'une de trois causes : comportement par défaut surprenant, opérations réseau partielles, ou réécriture d'historique déjà partagé. Un modèle mental fonctionnel des effets de bord de git pull aide à éviter les trois.

Options courantes

OptionDescription
--rebaseRebaser les commits locaux par-dessus les changements fetchés.
--ff-onlyFast-forward seulement ; abandonner si un merge serait nécessaire.
--no-ffToujours créer un merge commit.
--allFetcher depuis tous les remotes avant intégration.
--autostashStasher les changements locaux avant le pull et les pop après.
--pruneÉlaguer les branches de tracking distant obsolètes lors du fetch.

Exemples

git pull
# Défaut : fetch et merge depuis l'upstream configuré

git pull --rebase origin main
# Rebaser les commits locaux sur le dernier origin/main

git pull --ff-only
# Refuser de créer un merge commit

git config --global pull.rebase true
# Faire de rebase le défaut pour chaque pull

Erreurs fréquentes

Pulling with uncommitted changes can cause Git to refuse to merge. Either commit, stash, or use --autostash. Pulling onto a branch that has diverged often produces unexpected merge commits. Use --ff-only as a safety net or rebase explicitly.

Commandes liées

git fetch, git merge, git rebase, git push