Lorsque vous exécutez git pull
sur la master
branche, il tire généralement de origin/master
. Je suis dans une branche différente appelée newbranch
, mais je dois exécuter une commande qui fait un git pull
de origin/master
en master
mais je ne peux pas exécuter git checkout
pour changer la branche sélectionnée tant que l'extraction n'est pas terminée. Y a-t-il un moyen de faire cela?
Pour donner un peu de contexte, le référentiel stocke un site Web. J'ai apporté quelques modifications newbranch
et les ai déployées en basculant le site Web vers newbranch
. Maintenant que ces changements ont été fusionnés en amont dans la master
succursale, j'essaie de ramener le site Web à la master
succursale également. À ce stade, newbranch
et origin/master
sont identiques, mais master
est à la traîne origin/master
et doit être mis à jour. Le problème est, si je le fais de manière traditionnelle:
$ git checkout master
# Uh oh, production website has now reverted back to old version in master
$ git pull
# Website is now up to date again
Je dois réaliser la même chose que ci-dessus ( git checkout master && git pull
), mais sans changer le répertoire de travail vers une révision antérieure au cours du processus.
git fetch; git merge origin/master
de l'intérieur newbranch
. Il n'y a aucun avantage à cloner une deuxième copie entière du référentiel.
newbranch
et qu'il n'y a rien à cacher!