origin/<branch>
просто содержит удаленный контент, поскольку в последний раз, когда вы fetch
редактировали его .
git pull
, совпадает с git fetch
+ git merge origin/<branch>
(технически, git merge FETCH_HEAD
, см. Здесь ): git fetch
обновит ваши удаленные ветви, а git merge origin/master
объединит только что выбранные изменения с вашей локальной веткой (я предполагаю, что 'у вас настроены удаленные ветви отслеживания).
Ключевым моментом здесь является то, что только когда вы делаете git fetch
или git push
(или git pull
, как только что объяснено), ваш репозиторий будет подключаться к удаленному,Все остальные операции выполняются локально .
Другое небольшое различие между вашими двумя примерами состоит в том, что git merge origin/master
в какой-либо ветви, отличной от главной, объединит последние извлеченные изменения удаленного главного устройства с этой веткой., но он не обновит ваш локальный мастер (вы можете обновлять только локальную ветку, когда она в данный момент извлечена).
Кстати, хороший сайт, чтобы узнать об удаленных и удаленныхветки "графически" - это https://learngitbranching.js.org/?NODEMO. Официальная git документация содержит более подробное объяснение.