Когда вы запустите git pull
на ветке master
, она обычно тянет от origin/master
. Я нахожусь в другом ветви под названием newbranch
, но мне нужно запустить команду, которая делает git pull
от origin/master
до master
, но я не могу запустить git checkout
, чтобы изменить выбранную ветвь до завершения потяжки. Есть ли способ сделать это?Как «git pull» в ветку, которая не является текущей?
Чтобы предоставить некоторый фон, хранилище хранит веб-сайт. Я внес некоторые изменения в 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
), но без изменения рабочего каталога на более ранней ревизии в ходе процесса.
как насчет 'stash'? – phi
@phi: Я не думаю, что это сработает, потому что я нахожусь в 'newbranch', и там нет ничего, чтобы спрятаться! – Malvineous
Я бы клонировал в новый каталог, объединил newbranch в мастер, объединил мастера обратно в newbranch, затем git pull from where you. Мастер и новобранец будут одинаковыми. – aet