Wenn Sie git pull
auf dem master
Zweig laufen , wird er normalerweise von gezogen origin/master
. Ich bin in einem anderen Zweig namens newbranch
, aber ich muss einen Befehl ausführen, der ein git pull
von origin/master
in aus ausführt, master
aber ich kann nicht ausgeführt werden git checkout
, um den ausgewählten Zweig zu ändern, bis der Pull abgeschlossen ist. Gibt es eine Möglichkeit, dies zu tun?
Um Hintergrundinformationen zu geben, speichert das Repository eine Website. Ich habe einige Änderungen vorgenommen newbranch
und sie bereitgestellt, indem ich auf die Website umgestellt habe newbranch
. Jetzt, da diese Änderungen vorgelagert in der master
Filiale zusammengeführt wurden, versuche ich, die Website auch wieder in die master
Filiale zu verschieben. An diesem Punkt, newbranch
und origin/master
sind identisch, aber master
Rückstand origin/master
und aktualisiert werden muss. Das Problem ist, wenn ich es auf traditionelle Weise mache:
$ 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
Ich muss dasselbe wie oben ( git checkout master && git pull
) erreichen, ohne jedoch das Arbeitsverzeichnis während des Prozesses auf eine frühere Version zu ändern.
git fetch; git merge origin/master
von innen heraus tut newbranch
. Das Klonen einer gesamten zweiten Kopie des Repositorys hat keinen Vorteil.
newbranch
und es nichts zu verstauen gibt!