En réponse à une question sur l'extraction d'un commit à la fois depuis un référentiel git , il m'a été recommandé d'utiliser à la git remote update
place de git fetch
. J'ai lu les deux pages de manuel mais je ne peux pas dire que j'ai compris non plus dans son intégralité.
Quelqu'un peut-il m'expliquer comment git fetch origin
et get remote update origin
se comporter différemment?
Réponses:
Cela ne fait aucune différence lorsqu'il est utilisé comme ça.
remote update
est une commande de très haut niveau - elle prend en charge les télécommandes groupées (remotes.<group> = <list>
) et la mise à jour de toutes les télécommandes (sauf celles avecremote.<name>.skipDefaultUpdate
set), mais aucune des options plus spécifiques de fetch. Sous le capot, cependant, il fait exactement la même chose que chercher avec les options par défaut.La réponse recommandant
remote update
au lieu de git fetch était en fait de le recommander sans nom distant, juste pour récupérer tout, pas seulement celui nommé comme argument. C'est équivalent àgit fetch --all
.Je devrais ajouter la mise en garde que la récupération et la mise à jour à distance n'utilisaient en fait pas le même chemin de code jusqu'à la v1.6.6.1 (sortie le 23 décembre 2009). Même avant cela, cependant, ils ont fait essentiellement la même chose, en utilisant simplement un code différent (se comportant peut-être légèrement différemment dans les cas du coin, mais je ne peux pas penser à aucun de mes pensées).
la source
git fetch --all
" à la place de "git remote update
".fetch --all
je suis entré. Je fais tout cela juste par des variations degit log --grep=...
etgit describe --contains
dans mon clone git.git.v1.6.6.1~1^2~9
. (Même version que le changement de mise à jour à distance que j'ai mentionné dans ma réponse, mis à jour pour y ajouter la version mineure). Peut-être était-il juste tard pour entrer dans les notes de publication?