Это позволяет вам:
- обновить только вашу локальную версию главной ветки восходящего потока (в отличие от обновления всех ветвей репо восходящего потока, что может занять больше времени)
- не вызывает слияния сразу (в отличие от команды pull)
Затем git merge
попытается объединить эту локальную версию основного мастера с вашей основной веткой репо.
Так что здесь, master, для команды fetch
, является refspec.
<refspec>
Формат параметра <refspec>
является необязательным плюсом +, за которым следует источник ref <src>
, за которым следует двоеточие:, за которым следует пункт назначения <dst>
.
Удаленная ссылка, которая соответствует <src>
, выбирается, и если <dst>
не является пустой строкой, локальная ссылка, которая соответствует ей, быстро пересылается с помощью <src>
.
Если используется дополнительный плюс +
, локальная ссылка обновляется, даже если это не приводит к обновлению в ускоренном режиме.
Здесь <dst>
пусто, поэтому соответствующая локальная ветвь (ваш мастер) обновлена.
Без хозяина это дало бы:
git fetch upstream
Приведенная выше команда копирует все ветви из удаленного пространства имен refs/heads/
и сохраняет их в локальном пространстве имен refs/remotes/upstream/
, если только параметр branch.<name>.fetch
не используется для указания refspec не по умолчанию.