Как выполнить слияние generi c с восходящей веткой - PullRequest
0 голосов
/ 05 мая 2020

У меня есть это в сценарии:

git fetch origin
git pull   # merge with remote tracking branch
git merge 'origin/dev'

вместо приведенного выше, я хотел упростить его до:

git fetch origin
git merge @upstream      # whatever the lingo is to refer to the upstream branch?
git merge 'origin/dev'

каков общий c способ ссылки в восходящую ветвь (также называемую удаленным отслеживанием?)?

1 Ответ

0 голосов
/ 06 мая 2020

В вашем случае вам нужна буквальная последовательность:

git fetch origin
git merge @{upstream}
git merge origin/dev

(я убрал одинарные кавычки, поскольку они здесь ничего не достигают).


Описание @{upstream} появляется в документации gitrevisions , что довольно плотно 1 и со временем заслуживает многократных перечитываний. Фактически это суффикс , который можно применить к любому имени ветки:

master@{upstream}
develop@{upstream}

и так далее. Применительно к HEAD - текущему имени ветки - в HEAD@{upstream}, он относится к восходящему потоку текущей ветки, как и следовало ожидать. 2 Добавьте это вместе с обычной «пустой строкой» означает HEAD, где уместно "правило - например, master.. сокращенно от master..HEAD, а @{upstream} сокращенно от HEAD@{upstream}.

Обратите внимание, что <em>name</em>@{upstream} не выполняется (с сообщением об ошибке), если есть не установлен восходящий поток для ветви. Вы также можете использовать git rev-parse для любых вещей, приемлемых с помощью правил gitrevisions, чтобы превратить его в выражение more-basi c Git. Иногда это полезно в сложных сценариях, поскольку позволяет найти идентификатор ha sh, который можно использовать, даже если имя изменяется по мере того, как вы продолжаете делать что-то в репозитории.


1 «Плотный» в смысле «наполнен информацией», а не в смысле «глупый»; но также «плотный» в смысле труднопостижимости.

2 «Могущество», вероятно, лучше, чем «должен», поскольку иногда Git делает вещи, которые удивляют, если вы не знаете всех подробностей о трюках реализации внутри Git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...