Quelle est la difference entre git pull origin master
et git pull origin/master
?
git
version-control
Rachel
la source
la source
git pull origin/master
. Si vous souhaitez fusionner la branche distante [stockée localement]origin/master
, utilisez simplementgit merge origin/master
.git pull
signifiegit fetch
suivi pargit merge
. Il récupère le contenu de la télécommande, puis le fusionne dans votre branche actuelle. Maisorigin/master
est une branche locale (suivi d'une branche distante). Si vous voulez le fusionner, vous n'avez rien à chercher. Il est trompeur de diregit pull origin/master
que vous ne récupérez pas réellement à distance.origin/master
s'agit d'une branche stockée localement qui met en cache la branche principale sur la télécommande d'origine.Réponses:
git pull origin master
tirera les modifications de la brancheorigin
distantemaster
et les fusionnera à la branche locale extraite .git pull origin/master
extraira les modifications de la branche stockée localementorigin/master
et les fusionnera à la branche extraite locale . Laorigin/master
branche est essentiellement une "copie en cache" de ce qui a été extrait pour la dernière foisorigin
, c'est pourquoi elle est appelée une branche distante dans le langage git. Cela peut être quelque peu déroutant.Vous pouvez voir quelles branches sont disponibles avec
git branch
etgit branch -r
voir les "branches distantes".la source
git pull origin master
fusionnera-t-il toujours avec la branche principale, disons am sur une autre branche de mon référentiel et ensuite je fais la commande ci-dessus, mettra-t-il à jour ma branche actuelle avec les modifications distantes d'origine ou ma branche principale avec les modifications?git merge
(et doncgit pull
) fusionne toujours dans la branche courante. Pour fusionner avec autre chose que votre branche actuelle, vérifiez-le d'abord.git pull origin/master
peut avoir été une commande valide quand elle a été écrite, mais de nos jours (git 1.7.10.3) elle échoue avecfatal: 'origin/master' does not appear to be a git repository
(comme il se doit - pull est toujours pour tirer des télécommandes).git pull origin master
récupérera toutes les modifications de la branche principale de la télécommande et la fusionnera dans votre section locale. Nous n'utilisons généralement pas git pull origin / master. Nous pouvons faire la même chose pargit merge origin/master
. branche principale d'origine dans votre branche locale.Dans mon cas,git pull origin/master
jette l'erreur.la source
git pull
=git fetch
+git merge origin/branch
git pull
etgit pull origin branch
ne diffèrent que par le fait que cette dernière ne "mettra à jour" l'origine / la branche et pas toutes les origines / * comme legit pull
fait.git pull origin/branch
ne fonctionnera tout simplement pas, car il essaie de faire ungit fetch origin/branch
qui n'est pas valide.Question liée: git fetch + git merge origin / master vs git pull origin / master
la source