Lorsque vous exécutez git pullsur la masterbranche, 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 pullde origin/masteren mastermais je ne peux pas exécuter git checkoutpour 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 newbranchet les ai déployées en basculant le site Web vers newbranch. Maintenant que ces changements ont été fusionnés en amont dans la mastersuccursale, j'essaie de ramener le site Web à la mastersuccursale également. À ce stade, newbranchet origin/mastersont identiques, mais masterest à la traîne origin/masteret 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/masterde l'intérieur newbranch. Il n'y a aucun avantage à cloner une deuxième copie entière du référentiel.
newbranchet qu'il n'y a rien à cacher!