Что делает стратегия слияния `Rebase and merge` на Bitbucket Server? - PullRequest
0 голосов
/ 31 января 2019

Я изучал возможные стратегии слияния на Bitbucket Server, и одна стратегия привлекла мое внимание: «Перебазировать и объединить» rebase + merge --no-ff

Я понимаю, что большинство дискуссий о стратегиях слияния вращается вокруг перебазирования против слияния.Эта стратегия слияния выглядит как перебазировка и слияния.Это правильно?Какие преимущества это принесет в отличие от только перебазирования или только слияния?

1 Ответ

0 голосов
/ 31 января 2019

Стратегия «перебазирования и слияния» обычно подразумевается под «перебазированием».Это просто также указывает, что происходит дальше.Когда вы используете --no-ff, он делает коммит слияния.Без этого вы получаете ускоренную перемотку вперед, поэтому обе ссылки указывают на один и тот же коммит, и это скрывает тот факт, что вы вообще разветвились.

Слияние B на A:

A  *---*              A  *---*---*
    \       merge ->      \     /
B    *---*            B    *---*

Перебазировать B на A:

A  *---*              A  *---*
    \      rebase ->          \
B    *---*            B        *---*

Перебазировать и объединить (--no-ff) B на A:

A  *---*              A  *---*                  A  *---*-------*
    \      rebase ->          \       merge ->          \     /
B    *---*            B        *---*   --no-ff  B        *---*

Перебазировать и объединить(--ff) B на A:

A  *---*              A  *---*                  A,B  *---*---*---*
    \      rebase ->          \       merge ->
B    *---*            B        *---*   --ff
...