При запуске git pullна masterветке, он обычно тянет с origin/master. Я нахожусь в другой ветке с именем newbranch, но мне нужно запустить команду, которая выполняет операцию git pullfrom origin/masterв, masterно я не могу запустить ее, git checkoutчтобы изменить выбранную ветку, пока не завершится извлечение. Есть ли способ сделать это?
Чтобы дать некоторую предысторию, репозиторий хранит веб-сайт. Я внес некоторые изменения newbranchи развернул их, переключив веб-сайт на newbranch. Теперь эти изменения были объединены в masterветку вверх по течению , я также пытаюсь переключить веб-сайт обратно в masterветку. На данный момент newbranchи origin/masterидентичны, но masterотстают origin/masterи нуждаются в обновлении. Проблема в том, что если я сделаю это традиционным способом:
$ 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
Мне нужно добиться того же, что и выше ( git checkout master && git pull), но без изменения рабочего каталога на более раннюю версию во время процесса.
git fetch; git merge origin/masterизнутри newbranch. Клонирование всей второй копии репозитория не дает никаких преимуществ.
newbranchи нечего прятать!