Согласно документации, git pull выполняет git fetch , а затем git merge, однако в этом случае выполнение master источника git pull должно выполнить мастер происхождения git fetch верно?Тем не менее, похоже, что это не так.Вот пример.
Предполагается, что мой мастер удаленного источника (в моем случае на GitHub) имеет следующую историю:
commit 1111111 : my first commit
commit 2222222 : a commit from someone else
, и у меня только мой первый коммит локально, как при выполнении следующих шоу
git checkout master
git log --pretty=format:'%h' -n 1
1111111
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Отсюда я делаю свою тягу и смотрю на результаты следующим образом:
git checkout master
git pull origin master
git log --pretty=format:'%h' -n 1
2222222
git checkout origin/master
git log --pretty=format:'%h' -n 1
1111111
Как видно, тяга фактически обновила мою основную ветку с новым коммитом (s) из удаленного источника, но мой локальный источник / мастер все еще там, где он был.Заставить меня сделать следующее
git fetch origin master
git checkout origin/master
git log --pretty=format:'%h' -n 1
2222222
Это правильное поведение для git pull или я могу что-то не настроить?Я просмотрел страницу руководства git pull и не увидел ничего такого, что подсказывало бы это, но, возможно, я пропустил это.