Задать вопрос
@hippocrates_ho_koios
врач-кибернетик

Что правильнее: git merge master VS git rebase?

Какой подход правильнее использовать при решении конфликтов слияния: мерджить master в feature или перебазирование feature?
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
xez
@xez
TL Junior Roo
Лучше мердж.
С ребейсом будут проблемы, если ветку использует кто-то еще.
Ответ написан
Комментировать
@karminski
Senior React.JS Developer
Ребейз для более чистой структуры ветвления, мерж создаёт дополнительные мерж комнаты. Если работаете один или малым числом разработчиков можно ребейзить. Вообще тема холиварная, почти как винда вс линукс. Попробуйте оба подхода и определите сами для себя, что именно вам подходит.
Ответ написан
Комментировать
@Vitsliputsli
Правильнее merge.
Merge создаст новый коммит в котором объединит 2 ветки.
Rebase удалит все ваши коммиты из ветки, перенесет ветку в другое место и создаст новые коммиты с новым родителем.

Т.е. если чтото не так смержили при ребейзе выковыривать придется из удаленных. Плюсом ребейза считается более "красивая" картинка, по-факту это просто уничтожение истории, а сам факт уничтожения истории в системе контроля версий порождает вопрос, а зачем тогда вообще контроль версий?
Поэтому ребейз не применим, если вы не один пользуетесь веткой. А если один, то все на вашей совести. На практике, конечно не всегда все так катастрофично, поэтому есть предпочитающие ребейз. Специально ради таких вредителей основные ветки проекта делают защищенными от переписывания.
Есть редкие ситуации, когда ребейз предпочтительней, например вы мержите в ветку, но забыли сделать пулл, смысла этот смерженный коммит держать в параллельной ветке нет, лучше при таком мерже выбрать ребейз, т.к. такое переписывание истории будет только локальным.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы