Aller au contenu

git pull

Définition

La commande git pull récupère et télécharge le contenu du dépôt distant et intègre les modifications dans le dépôt local. La commande git pull est équivalente à la combinaison de git fetch suivie de git merge.

gitpull

Utilisation de git pull

La commande git pull fait partie des commandes impliquées dans le processus de « synchronisation ». Ces commandes opèrent sur les branches distantes configurées via la commande git remote. Les commits sont envoyés avec git push et téléchargés avec git fetch et git pull. Après avoir apporté des modifications dans les deux cas, git merge est utilisé pour les intégrer. git fetch et git pull sont tous deux utilisés pour télécharger le contenu depuis le dépôt distant. La commande git fetch ne force pas la fusion des modifications dans le dépôt, tandis que la commande git pull non seulement télécharge le contenu distant, mais le fusionne également dans la copie de travail actuelle.

Fonctionnement

Pour comprendre le processus de pull et de fusion, prenons l'exemple suivant. Il existe un dépôt avec une branche master et un dépôt distant origin. La commande git pull télécharge les modifications à partir du point où les branches locales et master divergent. L'illustration montre que ce point est E. Vous pouvez y voir les commits distants A, B et C qui seront récupérés par git pull. Ensuite, un nouveau commit de fusion local contenant le contenu des nouveaux commits distants divergents sera créé.

gitpull1

L'illustration montre le nouveau commit H qui contient tout le contenu des commits A, B et C avec un message de journal combiné.

gitpull2

L'option --rebase de git pull est utilisée pour le rebase au lieu de git merge.

gitpull3

Options courantes

CommandeDescription
git pull <remote>Récupère le contenu distant et le fusionne directement dans la copie locale (équivalent à git fetch <remote> suivi de git merge origin/<current-branch>).
git pull --no-commit <remote>Récupère le contenu distant sans créer de commit de fusion.
git pull --rebase <remote>Intègre la branche distante à la branche locale.
git pull --verboseAffiche le contenu téléchargé et les détails de la fusion, fournissant une sortie détaillée lors d'un pull.

Exemples

Exécuter git pull sans argument récupère et fusionne les modifications de la branche amont configurée pour la branche actuelle. HEAD est une référence qui pointe vers la branche actuelle.

git pull

bash
git pull

Récupérer les modifications d'une branche spécifique d'un dépôt distant :

git pull sur les dépôts distants

bash
git pull <remote> <branch>

Cette commande récupère et fusionne les modifications de la branche spécifiée du dépôt distant.

Par exemple, si vous souhaitez récupérer les modifications de la branche develop du dépôt distant origin, vous utiliserez la commande suivante :

bash
git pull origin develop

Récupérer les modifications d'un dépôt distant et rebase vos modifications par-dessus :

git pull via rebase

bash
git pull --rebase

Cette commande récupère les modifications du dépôt distant et rebase vos modifications locales par-dessus, au lieu de les fusionner. Cela peut être utile si vous souhaitez conserver un historique de commits linéaire et éviter les commits de fusion.

Récupérer les modifications d'un dépôt distant sans fusion automatique :

git pull --no-commit

bash
git pull --no-commit

Cette commande récupère les modifications du dépôt distant, mais ne les fusionne pas automatiquement dans votre branche locale. Au lieu de cela, elle laisse les modifications en tant que modifications en attente (staged), que vous pouvez examiner et valider manuellement.

Pratique

Parmi les affirmations suivantes concernant la commande 'git pull', lesquelles sont vraies ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.