git pull vs git fetch : quelle différence ?

git pull vs git fetch : quelle différence ?

Les deux commandes permettent de mettre à jour un répertoire local avec les données d'un repository distant. Leurs modes de fonctionnement diffèrent néanmoins.

Les commandes git pull et git fetch sont toutes les deux utilisées pour mettre à jour un répertoire de travail local avec les données d'un repository distant. Elles n'ont cependant pas le même fonctionnement :

  • La commande git fetch va récupérer toutes les données des commits effectués sur la branche courante qui n'existent pas encore dans votre version en local. Ces données seront stockées dans le répertoire de travail local mais ne seront pas fusionnées avec votre branche locale. Si vous souhaitez fusionner ces données pour que votre branche soit à jour, vous devez utiliser ensuite la commande git merge.
  • La commande git pull est en fait la commande qui regroupe les commandes git fetch suivie de git merge. Cette commande télécharge les données des commits qui n'ont pas encore été récupérées dans votre branche locale puis fusionne ensuite ces données.

Le choix de la commande à utiliser dépend de la façon dont vous souhaitez travailler. La commande git pull automatise la mise à jour des données mais peut entraîner de nombreux conflits si vous avez modifié beaucoup de fichiers. Utiliser la commande git fetch permet de garder son répertoire de travail à jour et de contrôler le moment où l'on souhaite fusionner les données.

Git