Kiedy biegniesz git pull
po master
gałęzi, zwykle ciągnie origin/master
. Jestem w innej gałęzi o nazwie newbranch
, ale muszę uruchomić polecenie, które wykonuje polecenie git pull
od origin/master
do, master
ale nie mogę uruchomić git checkout
zmiany wybranej gałęzi, dopóki nie zakończy się ściąganie. Czy jest na to sposób?
Aby dać trochę informacji, repozytorium przechowuje witrynę internetową. Dokonałem pewnych zmian newbranch
i wdrożyłem je, przełączając witrynę na newbranch
. Teraz te zmiany zostały włączone do master
gałęzi, próbuję również przełączyć witrynę z powrotem do master
gałęzi. W tym momencie, newbranch
i origin/master
są identyczne, ale master
pozostaje w tyle origin/master
i musi zostać zaktualizowana. Problem w tym, że jeśli robię to w tradycyjny sposób:
$ 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
Muszę osiągnąć to samo, co powyżej ( git checkout master && git pull
), ale bez zmiany katalogu roboczego na wcześniejszą wersję podczas procesu.
git fetch; git merge origin/master
od wewnątrz newbranch
. Sklonowanie całej drugiej kopii repozytorium nie przynosi żadnych korzyści.
newbranch
środku i nie ma tam nic do ukrycia!