Прав ли я, что синтаксис «слияние» и «перебазирование» означает противоположную операцию? - PullRequest
1 голос
/ 09 октября 2019

Я не уверен, какая ветвь будет затронута после merge и rebase.

Слияние

// I merge master INTO the dev. So dev is affected. A branch I'm now on
$ git checkout dev
$ git merge master

Rebase

// I do absolutely opposite
// I'm on dev
// I place dev changes ONTO master. master is affected, a branch I'm not on
$ git checkout dev
$ git rebase master

Ответы [ 2 ]

4 голосов
/ 09 октября 2019

Нет, при перебазировке вы перемещаетесь dev на master. master остается без изменений.

В такой ситуации, как

A-B-C------D   # master
     \
      `-E-F    # dev

при работе

git checkout dev
git merge master

приведет к

A-B-C------D      # master
     \      \
      `-E-F--M    # dev

и работе

git checkout dev
git rebase master

приведет к

A-B-C------D          # master
            \
             `-E-F    # dev

В обоих случаях изменяется только dev.

0 голосов
/ 09 октября 2019

Повторная база неверна.

Ветвь разработчика получена от мастера два дня назад. Это основа на мастер-два дня назад. Когда вы git rebase master, эквивалентно ветви dev, извлекаются из master-now, это влияет на dev.

...