L'argument que vous modifiez dans ces exemples s'appelle refspec
.
Dans le premier exemple, vous utilisez un raccourci qui spécifie l'adresse source à extraire (master
) mais ne spécifie pas de référence cible à mettre à jour. Le comportement par défaut s'appliquerait, ce qui avec une installation typique signifie origin/master
serait mis à jour.
Le deuxième exemple, vous fournissez une source (master
), puis un :
pour séparer cela d'une destination, puis d'une destination (également master
). Cela tentera de mettre directement à jour la branche localemaster
de votre dépôt local - plutôt que la référence de succursale distante origin/master
. Il peut échouer (par exemple, si le repo local est un repo non nu dans une configuration par défaut et qu'il a été extrait de master
).
Si vous voulez utiliser refspec explicite, mais vous voulez toujours mettre à jour l'arbitre à distance, vous pourriez dire
git fetch origin master:origin/master