Всегда в репозитории у вас есть скрытая ветка, которую вы можете увидеть, используя git branch -a.
Эта скрытая ветвь origin/master.
Вы, используя git fetch, отправляете изменения из удаленного репозитория в ветку origin/master:
git получить происхождение
Теперь у вас есть изменения в origin/master, но вам нужно будет передать их в ветку master, для этого вы должны использовать:
git слить источник/мастер
Из этого у вас есть новые изменения в вашей ветке masterи все.
Вот изображение, которое я сделал, чтобы объяснить эту часть:
При использовании git pullэтих комбинаций git fetch+ git merge.
мастер происхождения git pull
В заключение git pull, вы избавляете себя от использования еще одной команды, но я рекомендую, если вы только начинаете использовать git, продолжать использовать git fetchиgit merge
Он фактически git pullизвлекает изменения из данной ветки и обновляет их в вашем локальном репозитории.
git fetchизвлекает изменения из данной ветки и помещает их в зеркальную ветку , которая является своего рода скрытой веткой , где вы можете просмотреть изменения из этой ветки, а затем объединиться с вашей локальной веткой.
Он git pullпросто а git fecth + git merge. Не используйте git pull, если вы действительно сомневаетесь в том, какие изменения можно внести из удаленного репозитория.
Когда вы сделаете это git fetch, изменения из вашего удаленного репозитория (если они есть) будут загружены в папку с именем origin/master , которая является скрытой папкой. Чтобы включить изменения в вашу локальную ветку, вам нужно объединить master с origin/master.
Очень кратко: с помощью fetch вы запрашиваете только те изменения, которые находятся в репозитории по отношению к вашей локальной копии; и с помощью pull вы загружаете изменения в свой локальный. Я думаю, что Sourcetree делает выборку, прежде чем делать тягу.
Из документации :
или сделать вольный перевод:
То есть он
git fetch
регистрирует изменения, но оставляет их в другой ветке до тех пор, пока проверка не будет выполненаgit merge
в локальной ветке .Всегда в репозитории у вас есть скрытая ветка, которую вы можете увидеть, используя
git branch -a
.Эта скрытая ветвь
origin/master
.Вы, используя
git fetch
, отправляете изменения из удаленного репозитория в веткуorigin/master
:Теперь у вас есть изменения в
origin/master
, но вам нужно будет передать их в веткуmaster
, для этого вы должны использовать:Из этого у вас есть новые изменения в вашей ветке
master
и все.Вот изображение, которое я сделал, чтобы объяснить эту часть:
При использовании
git pull
этих комбинацийgit fetch
+git merge
.В заключение
git pull
, вы избавляете себя от использования еще одной команды, но я рекомендую, если вы только начинаете использовать git, продолжать использоватьgit fetch
иgit merge
Он фактически
git pull
извлекает изменения из данной ветки и обновляет их в вашем локальном репозитории.git fetch
извлекает изменения из данной ветки и помещает их в зеркальную ветку , которая является своего рода скрытой веткой , где вы можете просмотреть изменения из этой ветки, а затем объединиться с вашей локальной веткой.Он
git pull
просто аgit fecth + git merge
. Не используйтеgit pull
, если вы действительно сомневаетесь в том, какие изменения можно внести из удаленного репозитория.Когда вы сделаете это
git fetch
, изменения из вашего удаленного репозитория (если они есть) будут загружены в папку с именем origin/master , которая является скрытой папкой. Чтобы включить изменения в вашу локальную ветку, вам нужно объединить master с origin/master.Git pull
он делает все это автоматически.Очень кратко: с помощью fetch вы запрашиваете только те изменения, которые находятся в репозитории по отношению к вашей локальной копии; и с помощью pull вы загружаете изменения в свой локальный. Я думаю, что Sourcetree делает выборку, прежде чем делать тягу.