Проверяет умение синхронизировать feature-ветку с целевой (main/develop) через merge или rebase, что критично для командной работы в Git.
Когда вы работаете в отдельной feature-ветке, целевая ветка (обычно main или develop) продолжает двигаться вперёд: коллеги мержат свои изменения. Чтобы ваша ветка не отставала и не создавала конфликтов при финальном мерже, её нужно периодически синхронизировать с целевой. В Git есть два основных способа: merge и rebase.
Merge создаёт новый коммит, объединяющий две ветки. История остаётся полной, но появляются дополнительные merge-коммиты.
git checkout feature/login
git fetch origin
git merge origin/main
# при конфликтах правим файлы, затем:
git add .
git commitRebase переносит ваши коммиты поверх актуальной целевой ветки, делая историю линейной. Это удобно перед pull request, но переписывает историю вашей ветки.
git checkout feature/login
git fetch origin
git rebase origin/main
# при конфликтах:
git add .
git rebase --continue
# если что-то пошло не так:
git rebase --abortИтог: для личной feature-ветки перед PR удобнее rebase, а для долгоживущих общих веток — merge. Главное — регулярно синхронизироваться, чтобы конфликты были маленькими и локальными.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию