Подскажите пожалуйста как правильно обновить локальную ветку git

Рейтинг: 2Ответов: 1Опубликовано: 04.07.2023

Всем привет! Работаю в локальной ветке (например branch1) созданной от develop, за некоторое время в удаленной ветке develop произошли изменения, теперь чтобы обновить свою локальную ветку branch1, я сначала обновляю локальный develop, дальше делаю checkout на branch1, потом встаю на ветке develop и в меню есть 2 варианта:

  1. Rebase 'branch1' onto 'develop'
  2. Merge 'develop' into 'branch1'

Не понимаю, что тут правильнее выбрать вроде по логике если мне нужно из develop обновить branch1 то это 2-й вариант.

Ответы

▲ -1Принят

Надо перейти на branch1 и запустить команду.

git rebase origin develop

Если будут конфликты, то решите конфликты (например в IDE PhpStorm).

Дальше запуск сразу двух команд.

git add . && git rebase --continue.

И переделать последние 2 действия если дальше будут конфликты.

После этого локальная ветка полностю обновиться.

Другой вариант git merge origin develop. Опять же если будут конфликты нужно их решить. Потом сделать commit.

git merge(слияние)

Слияние принимает содержимое другой ветки и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной.

Минус в том что история коммитов может быть заполнена множеством коммитов.

git rebase

Rebase сжимает все изменения в один. Затем он интегрирует это в целевую ветку.

В отличие от merge, rebase перезаписывает историю, потому что она передает завершенную работу из одной ветки в другую. И устраняется нежелательная история.