Accéder au contenu principal

Git Pull : Maintenir votre référentiel local à jour

La commande git pull récupère les mises à jour d'un dépôt distant et les fusionne dans votre branche actuelle. Poursuivez votre lecture pour apprendre à éviter les conflits de fusion inutiles.
Actualisé 10 mars 2025  · 8 min de lecture

Si vous travaillez en équipe ou même si vous travaillez seul sur un projet en évolution, vous savez à quel point il est essentiel de garder votre dépôt local à jour pour une collaboration fluide, et c'est là que git pull entre en jeu car il intègre les modifications à distance dans votre branche locale. Essentiellement, git pull récupère et intègre les modifications d'un dépôt distant dans votre branche locale. Il s'agit d'une commande essentielle qui vous permet de toujours travailler avec le code le plus récent, en particulier dans le cadre de projets collaboratifs rapides.

Ce qui est intéressant avec git pull, c'est qu'il combine deux étapes : tout d'abord, il exécute un git fetch pour télécharger les dernières modifications, puis il exécute automatiquement un git merge pour intégrer ces mises à jour dans votre branche. Si vous préférez un historique plus propre sans commits de fusion supplémentaires, vous pouvez utiliser git pull --rebase à la place.

Si vous souhaitez acquérir une solide maîtrise de ces concepts, ne manquez pas de consulter notre tout nouveau cursus de compétences GitHub Fundamentals. En suivant le cours, vous apprendrez à connaître l'historique des versions et à travailler avec des branches, mais aussi, à la fin, vous connaîtrez des stratégies avancées de fusion et de gestion des référentiels. 

Qu'est-ce que Git Pull ?

Voyons cela en détail. Lorsque vous exécutez git pull, vous mettez à jour votre branche locale avec les dernières modifications du dépôt distant. Voici comment cela fonctionne :

  1. Recherche de mises à jour : Git démarre en lançant git fetch pour récupérer tous les nouveaux commits du serveur distant.

  2. Fusionner les changements : Ensuite, il effectue automatiquement un git merge pour intégrer ces commits dans votre branche actuelle.

  git pull fetch and merge process

Voici une représentation visuelle du processus Git Pull. Le graphique montre comment les modifications du référentiel distant(A → B → C) sont récupérées et fusionnées dans la branche locale(A → B → D). La ligne en pointillé représente l'étape de fusion, au cours de laquelle la livraison C est intégrée dans le dépôt local. Ceci illustre comment git pull maintient votre branche locale à jour avec les dernières modifications à distance.

Git Pull et commandes associées

Examinons quelques options essentielles disponibles sur git pull et voyons comment elles peuvent faciliter votre flux de travail. Que vous souhaitiez nettoyer l'historique de vos livraisons ou que vous ayez besoin de mieux comprendre ce qui se passe lors d'une extraction, ces commandes ont tout ce qu'il vous faut. Voici une référence pratique :

Commandement Description
git pull Récupère et fusionne les modifications distantes dans la branche courante.
git pull origin <branch> Imprime les modifications à partir d'une branche distante spécifique.
git pull --rebase Utilise rebase au lieu de merge pour produire un historique des livraisons plus propre et linéaire.
git pull --no-commit

Récupère et fusionne les modifications à distance mais ne crée pas de livraison automatique, ce qui vous permet d'inspecter et de modifier le résultat de la fusion avant de livrer.

git pull --verbose Fournit des résultats détaillés pendant le processus d'extraction, ce qui vous permet de voir exactement quelles modifications sont récupérées.

Ces options offrent une certaine flexibilité qui vous permet d'adapter votre processus de mise à jour aux besoins de votre projet. Par exemple, si vous préférez un historique des livraisons plus ordonné, git pull --rebase peut être votre choix. Si vous souhaitez revérifier les modifications avant de les fusionner, git pull --no-commit vous offre un niveau de contrôle supplémentaire.

Éviter les problèmes courants liés à l'extraction dans Git

Soyons réalistes : git pull nous sauve la vie, mais n'est pas dépourvu d'inconvénients. Voici comment éviter les écueils les plus courants et assurer la fluidité de votre flux de travail :  

Fusionner les conflits

Les conflits de fusion surviennent lorsque vos modifications locales chevauchent des modifications provenant du dépôt distant. Par exemple, si vous et un coéquipier modifiez la même ligne de code, Git ne saura pas quelle version conserver. Dans ce cas, Git interrompt la fusion et vous demande de résoudre le conflit manuellement.  

Voici comment y remédier : 

  1. Ouvrez le (s) fichier(s) en conflit et recherchez les marqueurs de conflit (<<<<<<<, =======, >>>>>>>).  

  2. Modifiez le fichier pour conserver les changements souhaités. 

  3. Enregistrez le fichier, mettez-le en scène (git add ) et terminez la fusion (git commit).

Tirer avec des changements non validés

Si vous avez des modifications non validées dans votre répertoire de travail, git pull peut échouer car il a besoin d'une table rase pour fusionner les modifications à distance.

Voici la solution :

1. Conservez vos modifications :

Comme git pull nécessite un répertoire de travail propre, vous devrez sauvegarder temporairement vos modifications non validées à l'aide de la commande stash. Cela permet de sécuriser vos modifications pendant que vous mettez à jour votre branche.

git stash

2. Téléchargez les dernières modifications :

Maintenant que votre répertoire de travail est propre, vous pouvez récupérer et fusionner en toute sécurité les dernières modifications du dépôt distant.

git pull

3. Appliquez à nouveau les modifications que vous avez stockées :

Une fois la mise à jour terminée, vous pouvez restaurer les modifications sauvegardées dans votre répertoire de travail à l'aide de git stash pop. Vous retrouverez ainsi tout ce que vous aviez avant la mise en cache.

git stash pop

En suivant ces étapes, vous savez que vos modifications locales sont stockées en toute sécurité pendant que vous mettez à jour votre branche. 

Tirer sur la mauvaise branche

Si vous exécutez git pull sans spécifier de branche, Git tire à partir de la branche amont que votre branche locale suit. Si l'amont n'est pas défini correctement, vous risquez de tirer des modifications d'une branche inattendue, ce qui peut entraîner des confusions ou des erreurs.  

Voici comment l'éviter : 

1. Vérifiez la branche amont :

git branch -vv

2. Si nécessaire, réglez l'amont correct :

git branch --set-upstream-to=origin/<branch>

Vérifiez toujours quelle branche vous tirez, surtout lorsque vous travaillez avec plusieurs branches.

Meilleures pratiques pour l'utilisation de Git Pull

En se basant sur ce que nous avons discuté précédemment pour éviter les problèmes courants, voici quelques bonnes pratiques pour vous aider à tirer le meilleur parti de l'outil git pull dans votre travail quotidien :

  • Tirez fréquemment : Mettez votre branche à jour régulièrement pour éviter que des conflits importants ne s'accumulent. Les petites modifications progressives sont beaucoup plus faciles à gérer que les fusions massives ultérieures.

  • Inspecter avant de fusionner : Lancez d'abord git fetch pour voir quels changements vous attendent. Cela vous permet d'examiner les livraisons entrantes sans les fusionner immédiatement, ce qui vous donne le temps de vous préparer à d'éventuels ajustements.

  • Maintenir un historique linéaire : Si vous préférez un historique des livraisons propre, utilisez git pull --rebase. Cette commande permet de basculer vos modifications locales sur les dernières modifications à distance, ce qui permet de conserver l'historique de votre projet en ordre.

  • Fusions d'examens : Pour plus de prudence, utilisez git pull—- no-commit pour inspecter les résultats de la fusion avant de les finaliser par un commit. Cela permettra de détecter rapidement toute anomalie.

  • Vérifier le cursus de la branche : Exécutez toujours git remote show origin pour vous assurer que votre branche locale suit la bonne branche distante. Cette simple vérification permet d'éviter que des mises à jour soient intégrées dans la mauvaise branche.

Pourquoi certains développeurs évitent-ils d'utiliser git pull ?

Bien que git pull soit pratique, certains développeurs préfèrent diviser le processus en deux étapes pour mieux le contrôler :  

1. Aller chercher d'abord

git fetch

Cela permet de récupérer les modifications à distance sans les fusionner.  

2. Intégrer manuellement

Utilisez git merge pour combiner les modifications :  

git merge origin/<branch>

Vous pouvez également utiliser le site git rebase pour obtenir un historique plus clair :  

git rebase origin/<branch>

Un exemple de Git Pull en action

Voyons quelques exemples pratiques de l'utilisation de git pull afin que vous puissiez voir précisément comment ces commandes fonctionnent dans des scénarios réels.

Utilisation de base de git pull

La commande git pull est le moyen le plus simple de mettre à jour votre branche locale avec les dernières modifications de la branche principale du dépôt distant. Il effectue automatiquement un git fetch suivi d'un git merge. Utilisez cette commande pour synchroniser votre dépôt local avec les dernières mises à jour du dépôt distant sans étapes supplémentaires. L'exécution de git pull récupère les mises à jour du site distant (typiquement nommé origin) et les fusionne dans votre branche actuelle, assurant que votre code local reste à jour.

git pull exemple

Utilisation de git pull --rebase

Si vous préférez un historique plus propre et linéaire, sans commits de fusion inutiles, git pull --rebase est la meilleure solution. Cette commande récupère les modifications à distance et réapplique ensuite vos modifications locales par-dessus, ce qui permet de conserver un historique structuré des modifications. C'est un avantage pour les projets collaboratifs où il est essentiel d'avoir un journal de livraison bien rangé. L'exécution de git pull --rebase garantit que vos commits locaux sont rejoués sur les changements récupérés, ce qui évite les commits de fusion redondants et rend l'historique de votre dépôt plus lisible.

git pull --rebase exemple

Utilisation de git pull --no-commit

Si vous souhaitez récupérer et fusionner des modifications à distance, mais préférez les examiner avant de les valider, git pull--no-commit est l'option idéale. Cette commande vous permet d'inspecter manuellement les résultats de la fusion et de résoudre les conflits éventuels avant de finaliser la livraison. Il vous garantit un contrôle total sur le processus d'intégration, ce qui en fait la solution idéale pour les mises à jour prudentes où vous devez vérifier les changements avant de les valider.

git pull no commit exemple

Extraction à partir d'une branche distante spécifique

Lorsque vous travaillez sur plusieurs branches, vous pouvez avoir besoin de mettre à jour votre branche locale avec les modifications d'une branche distante spécifique plutôt que la branche principale par défaut. La branche git pull origin feature vous permet de récupérer et de fusionner les dernières modifications d'une branche désignée, ce qui garantit que votre travail local reste mis à jour avec les dernières modifications à distance. Ceci est particulièrement utile lorsque vous collaborez au développement de fonctionnalités ou à la correction de bogues dans différentes branches.

Git Pull vs. Git Fetch

Lorsque vous travaillez avec Git, vous rencontrez souvent git pull et git fetch. Bien qu'ils puissent sembler similaires, ils ont des objectifs distincts. Voyons quelles sont les différences entre ces deux types de produits afin que vous puissiez décider quand utiliser chacun d'entre eux.

Comprendre la différence

  • git fetch récupère les modifications d'un dépôt distant mais ne les intègre pas dans votre branche de travail. Il met simplement à jour votre copie locale des branches distantes.

  • git pull fait la même chose que git fetch mais fusionne immédiatement les changements récupérés dans votre branche actuelle.

Tableau de comparaison

Fonctionnalité git fetch git pull
Ce qu'il fait Télécharge les nouvelles modifications à partir d'un serveur distant, mais ne les fusionne pas. Télécharge et fusionne immédiatement les modifications dans la branche actuelle
Modifie le répertoire de travail ? Branches de suivi à distance sans mise à jour Oui - modifie la branche de travail
Meilleur pour Vérification des modifications à distance avant la fusion Mise à jour rapide de la branche locale avec les dernières modifications
Peut-on l'utiliser à tout moment ? Oui, puisqu'il n'affecte pas le travail local Non, car cela pourrait entraîner des conflits de fusion
Cas d'utilisation courante Inspecter les modifications à distance avant de décider de les fusionner Mise à jour automatique des succursales locales
Syntaxe de la commande git fetch origin git pull origin main

Quand utiliser chacun d'entre eux ?

Utilisez git fetch pour examiner les modifications avant de mettre à jour votre branche, fusionner ou rebaser manuellement plus tard, ou éviter de tirer des modifications instables lorsque vous travaillez sur une branche de fonctionnalités. En revanche, utilisez git pull lorsque vous avez besoin des dernières mises à jour d'une branche partagée, comme central ou develop, que vous êtes sûr de pouvoir fusionner des modifications à distance sans conflit, ou que vous souhaitez rester synchronisé avec le référentiel de votre équipe. De nombreux développeurs qui préfèrent avoir plus de contrôle sur les intégrations utilisent d'abord git fetch, puis git merge ou rebase manuellement. Si vous êtes intéressé par des flux de travail Git avancés, l'exploration d'approches structurées peut améliorer votre stratégie de contrôle de version.

Conclusion

Vous devriez maintenant avoir une bonne connaissance du site git pull- comment il fonctionne, quand l'utiliser et quelles sont les meilleures stratégies pour éviter les pièges les plus courants. Nous avons vu que git pull combine git fetch et git merge, ce qui en fait un moyen rapide de mettre à jour votre dépôt local. Si vous préférez un historique des livraisons plus propre, git pull --rebase est une excellente alternative.

Nous avons également exploré des options clés telles que l'extraction de branches spécifiques, l'évitement des commits immédiats et la gestion efficace des conflits de fusion. En outre, nous avons expliqué pourquoi certains développeurs choisissent git fetch suivi de git merge pour mieux contrôler les modifications entrantes.

En fin de compte, pour que votre flux de travail Git soit fluide, il faut comprendre comment les modifications se déplacent entre les dépôts locaux et distants.. Que vous collaboriez à un projet d'équipe ou que vous gériez vos dépôts, savoir quand tirer, récupérer, fusionner ou rebaser vous évitera bien des maux de tête. Il y a beaucoup à apprendre avec Git, mais ici, à DataCamp, nous sommes là pour vous aider. Je vous recommande notrecours Foundations of Git et le cours Introduction to GitHub Concepts comme deux excellentes options.

Apprenez les bases de Git dès aujourd'hui

Pour les débutants : Maîtriser le contrôle des versions à l'aide de Git.
Commencez à apprendre gratuitement

Oluseye Jeremiah's photo
Author
Oluseye Jeremiah
LinkedIn

Rédacteur technique spécialisé dans l'IA, la ML et la science des données, rendant les idées complexes claires et accessibles.

git pull FAQs

Que fait git pull ?

git pull met à jour votre dépôt local en récupérant les modifications d'un dépôt distant et en les fusionnant dans votre branche actuelle. Il combine git fetch et git merge en une seule commande.

Quelle est la différence entre git pull et git fetch ?

git fetch télécharge les modifications du dépôt distant mais ne les fusionne pas dans votre branche locale, tandis que git pull récupère et fusionne les modifications automatiquement.

Que dois-je faire si git pull entraîne un conflit de fusion ?

Si git pull provoque un conflit de fusion, Git mettra en pause la fusion. Vous devez résoudre manuellement les fichiers en conflit, utiliser git add pour mettre en scène les modifications résolues et exécuter git commit pour terminer la fusion.

Comment puis-je retirer des modifications sans les fusionner ?

Utilisez git pull --rebase au lieu de git pull pour appliquer les modifications entrantes à vos modifications locales, en évitant les modifications par fusion et en conservant un historique linéaire.

Comment extraire les modifications d'une branche spécifique ?

Lancez git pull origin pour récupérer et fusionner les modifications d'une branche spécifique du référentiel distant dans votre branche locale actuelle.

Sujets

Apprenez Git avec DataCamp

Certification disponible

cours

Introduction à Git

2 hr
16K
Découvrez les principes fondamentaux de Git pour le contrôle des versions dans vos projets de logiciels et de données.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow