October 4, 2023

Версионирование кода (Git)

Когда использовать merge/rebase?

Обе команды используются для объединения изменений разных веток, однако они преследуют разные цели:

Merge

Сохраняет полную хронологическую историю изменений двух веток, через слияние новой ветки в целевую. Является неразрушающей операцией.

Плюсы:

  • Удобен для активной разработки в большой команде
  • Прост в использовании
  • Сохраняется весь контекст разработки

Минусы:

  • История коммитов становится переполненной

Rebase

Сохраняет все изменения новой ветки в один patch, затем перемещает его в целевую ветку. Является перезаписывающей операцией.

Плюсы:

  • Удобен для локальной разработки
  • Помогает подготовить код для PR
  • Помогает навести порядок в истории коммитов

Минусы:

  • Жертвуем безопасностью и отслеживаемостью
  • Нельзя использоваться в публичных ветках

Полезное: