Wenn Sie git pullauf dem masterZweig 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 pullvon origin/masterin aus ausführt, masteraber 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 newbranchund sie bereitgestellt, indem ich auf die Website umgestellt habe newbranch. Jetzt, da diese Änderungen vorgelagert in der masterFiliale zusammengeführt wurden, versuche ich, die Website auch wieder in die masterFiliale zu verschieben. An diesem Punkt, newbranchund origin/mastersind identisch, aber masterRückstand origin/masterund 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/mastervon innen heraus tut newbranch. Das Klonen einer gesamten zweiten Kopie des Repositorys hat keinen Vorteil.
newbranchund es nichts zu verstauen gibt!