Menu
Coddy logo textTech

Git Fetch vs Pull

Dernière mise à jour

git fetch télécharge les derniers commits du dépôt distant mais laisse votre branche de travail exactement telle qu'elle était. git pull effectue le même téléchargement puis fusionne immédiatement ces commits dans votre branche actuelle. En bref : git pull = git fetch + git merge.

Utilisez fetch quand vous voulez regarder avant de vous lancer ; utilisez pull quand vous êtes prêt à intégrer. Essayez les deux dans le terminal playground : un vrai shell dans votre navigateur.

git fetch télécharge les nouveaux commits et ne met à jour qu'origin/main - votre branche attend ; git pull les fusionne immédiatement.

Côte à côte

Behaviorgit fetchgit pull
Télécharge les commits distantsOuiOui
Modifie votre branche actuelleNonOui
Peut provoquer des conflits de fusionNonOui
Équivaut àtéléchargement seulfetch + merge

Syntaxe

CommandWhat it does
git fetchTélécharge tous les changements distants, sans fusionner
git fetch origin mainRécupère une seule branche depuis un dépôt distant
git pullTélécharge et fusionne dans la branche actuelle
git pull --rebaseTélécharge, puis rebase vos commits par-dessus
git log HEAD..origin/mainAprès le fetch : voyez ce que vous fusionneriez

FAQ Git fetch vs pull

Quelle est la différence entre git fetch et git pull ?
git fetch télécharge les nouveaux commits et met à jour vos branches de suivi distant (comme origin/main) mais ne modifie pas votre branche de travail. git pull effectue ce même fetch puis fusionne les nouveaux commits dans votre branche actuelle. Ainsi, pull modifie vos fichiers ; fetch met simplement à jour votre connaissance du dépôt distant.
git pull est-il juste fetch plus merge ?
Oui. git pull est un raccourci pour git fetch suivi d'un git merge de la branche récupérée dans votre branche actuelle. Avec git pull --rebase, la deuxième étape est un rebase au lieu d'un merge, ce qui garde l'historique linéaire.
Quand devrais-je utiliser fetch plutôt que pull ?
Utilisez git fetch quand vous voulez examiner les changements entrants avant de les intégrer : par exemple, git fetch puis git log HEAD..origin/main pour voir exactement ce qui est nouveau. Utilisez git pull quand vous faites déjà confiance aux changements distants et voulez simplement les fusionner dans votre branche.
git fetch provoque-t-il parfois des conflits ?
Non. Fetch met uniquement à jour les branches de suivi distant ; il ne touche jamais à votre branche de travail ni à vos fichiers, il ne peut donc pas produire de conflits de fusion. Les conflits n'apparaissent qu'à l'étape de merge, que pull effectue automatiquement mais pas fetch.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git fetch et git pull dans un vrai shell dans votre navigateur, sans rien à installer. Le cours Git interactif et gratuit de Coddy couvre également le travail avec les dépôts distants étape par étape.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER