Sobes.tech
Junior

Quelle est la différence entre les commandes pull et fetch dans Git?

sobes.tech IA

Réponse de l'IA

git fetch télécharge les modifications depuis un dépôt distant, mais ne les applique pas à la branche courante. git pull effectue un git fetch, puis fusionne automatiquement (merge) les modifications reçues avec la branche courante.

Principales différences :

Commande Action Impact sur la copie de travail / branche
git fetch Télécharge des objets (commits, fichiers) Ne modifie pas la copie de travail ni la branche courante
git pull Télécharge des objets et fusionne les changements Met à jour la branche courante et la copie de travail

Exemple d'utilisation :

Pour simplement voir ce qui a changé sur le serveur distant :

git fetch origin

(Vous pouvez vérifier les changements avec git log origin/<branche>)

Pour récupérer les changements et les appliquer automatiquement à la branche courante :

git pull origin main # par exemple

git pull est essentiellement équivalent à exécuter séquentiellement git fetch et git merge ou git rebase (selon la configuration).

# Équivalent à git pull
git fetch origin
git merge origin/main # si la branche courante est main et que vous utilisez la stratégie de fusion merge

L'utilisation de git fetch donne plus de contrôle, car elle permet de voir les changements entrants avant de les fusionner. git pull est pratique pour une synchronisation rapide.