PassFront
  1. PassFront
  2. База знаний
  3. Слияние, rebase и конфликты

Как в feature ветку добавить изменения из dev ветки в Git?

Слияние, rebase и конфликты

Изменения из dev в feature-ветку добавляют через merge или rebase.

Через merge

git switch feature
git fetch origin
git merge origin/dev
  • создаётся merge-коммит, история сохраняется как есть;
  • безопасно, даже если ветку уже используют другие.

Через rebase

git switch feature
git fetch origin
git rebase origin/dev
  • коммиты feature переносятся поверх актуального dev, история линейная;
  • если ветка уже запушена, понадобится git push --force-with-lease;
  • нельзя делать для ветки, над которой работают несколько человек.

Конфликты

В обоих случаях Git остановится на конфликте: исправить файлы, git add, затем git merge --continue или git rebase --continue.

Коротко для собеседования

git merge dev — безопасно, с merge-коммитом; git rebase dev — линейная история, но переписывает коммиты, поэтому только для своей ветки.

Подробнее: Pro Git — Перебазирование

Другие вопросы раздела