Détails
Quelle est la différence entre 'git pull' ; et 'git fetch' ?
Note du modérateur : Étant donné que soixante-sept réponses ont déjà été postées à cette question (certaines ont été supprimées), demandez-vous si vous apportez quelque chose de nouveau avant d'en poster une autre.
Quelles sont les différences entre git pull
et git fetch
?
11407
3
Dans les termes les plus simples,
git pull
fait ungit fetch
suivi d'ungit merge
.Vous pouvez faire un
git fetch
à tout moment pour mettre à jour vos branches de suivi à distance sousrefs/remotes//
.Cette opération ne modifie jamais aucune de vos propres branches locales sous
refs/heads
, et est sûre à faire sans modifier votre copie de travail. J'ai même entendu parler de personnes qui exécutentgit fetch
périodiquement dans une tâche cron en arrière-plan (bien que je ne recommande pas de faire cela).Un
git pull
est ce que vous feriez pour mettre à jour une branche locale avec sa version distante, tout en mettant également à jour vos autres branches de suivi à distance.Documentation Git - [git pull][1] :
[1] : http://git-scm.com/docs/git-pull
Un cas d'utilisation de
git fetch
est que ce qui suit vous indiquera tous les changements dans la branche distante depuis votre dernier pull... ainsi vous pouvez vérifier avant de faire un pull réel, qui pourrait changer des fichiers dans votre branche courante et votre copie de travail.Voir : https://git-scm.com/docs/git-diff concernant la syntaxe à double et triple points dans la commande diff.
Vous tireriez si vous voulez que les historiques soient fusionnés, vous récupéreriez si vous voulez juste " le codez " comme une personne a étiqueté certains articles par ici.