Команда git pull
получит последние изменения из источника (origin
по умолчанию) и сразу попытается объединить их с вашим кодом в вашей текущей ветке. Если нет совпадений, это будет бриз.
git pull --rebase
сделает то же самое, за исключением того, что попытается применить ваши изменения в конце потока входящих, чтобы они выглядели как одно простое продвижение. Вы заметите разницу, только если посмотрите на историю (git log
) обоими методами. (См. эту страницу для демонстрации.)
Если вы обеспокоены совпадением ваших изменений с изменениями из источника и хотели бы получить «предварительный просмотр», прежде чем пытаться объединить их, то вы можете использовать команду git fetch origin
, чтобы свести все последние изменения в скрытая локальная ветвь с именем 'origin / master' - которая отличается от вашей 'master' ветки. Затем вы можете просмотреть его с помощью git merge origin/master
(обратите внимание, что вы увидите предупреждение о том, что это не «настоящая» ветвь, но она все еще работает), а затем объединить его с вашим кодом (сначала git checkout master
если вы еще не были там, тогда git merge origin/master
).
(Как уже упоминалось в adymitruk, проще всего внести ваши изменения в отдельную ветку (git checkout -b my_branch
), а затем извлечь и объединить или вытащить. Но если вы уже работали над локальной веткой master, вышеупомянутые команды доставят вас туда.)