2016-09-11 6 views
-1

В mercurial при запуске hg pull Я получу все изменения из удаленного репозитория, но эта команда не обновит локальный рабочий каталог. Когда я запустил hg update, эта команда применит изменения в рабочем каталоге.git's analog of «hg pull»

В git, когда я запускаю git pull, команда получит и применит изменения в рабочем каталоге.

Итак, мой вопрос заключается в том, как вытащить изменения (в git) из удаленного репозитория, но не применять их?

ответ

1

Я считаю, что команда, которую вы ищете, это git fetch. Из documentation:

Fetch ветви и/или метки (совместно именуемые «рефов») из одного или нескольких других хранилищах, наряду с объектами, необходимыми для выполнения их истории. Обновлены ветви удаленного отслеживания.

Git fetch загружает все изменения с пульта дистанционного управления без обновления фактических локальных ветвей. В показанном выше разделе ветви «удаленного отслеживания» являются локальными ветвями (да, это запутывает), которые отслеживают состояние в удаленном репозитории, но они не являются вашими локальными ветвями.

Предполагая, что вы на ветви master, то:

git fetch origin   # updates origin/master 
git merge origin/master # updates your local master 

Выполнение git pull origin master эквивалентно делать git fetch с последующим git merge.

+0

Спасибо, но как применить изменения в рабочем каталоге после git fetch? – Vodokan