Что такое git merge?
Слияние, rebase и конфликты
`git merge` объединяет историю другой ветки с текущей.
Как работает
git switch main
git merge feature/login- Fast-forward — если
mainне менялась с момента ответвления, Git просто передвигает указатель вперёд, нового коммита нет. - Трёхстороннее слияние — если обе ветки менялись, Git создаёт merge-коммит с двумя родителями.
--no-ff заставляет создать merge-коммит даже при возможном fast-forward — так в истории видно, что была отдельная ветка.
Конфликты
Если обе ветки меняли одни и те же строки, Git останавливается и размечает конфликт:
<<<<<<< HEAD
const timeout = 3000;
=======
const timeout = 5000;
>>>>>>> feature/loginНужно выбрать правильный вариант, git add и завершить слияние (git commit или git merge --continue).
Коротко для собеседования
merge соединяет ветки: fast-forward, если история линейна, иначе merge-коммит с двумя родителями; конфликты решаются вручную.
Подробнее: Pro Git — Основы слияния