Kiedy biegniesz git pullpo mastergałęzi, zwykle ciągnie origin/master. Jestem w innej gałęzi o nazwie newbranch, ale muszę uruchomić polecenie, które wykonuje polecenie git pullod origin/masterdo, masterale nie mogę uruchomić git checkoutzmiany 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 newbranchi wdrożyłem je, przełączając witrynę na newbranch. Teraz te zmiany zostały włączone do mastergałęzi, próbuję również przełączyć witrynę z powrotem do mastergałęzi. W tym momencie, newbranchi origin/mastersą identyczne, ale masterpozostaje w tyle origin/masteri 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/masterod wewnątrz newbranch. Sklonowanie całej drugiej kopii repozytorium nie przynosi żadnych korzyści.
newbranchśrodku i nie ma tam nic do ukrycia!