Junior — Middle
Explique a diferença entre os comandos 'git rebase' e 'git merge' na gestão de branches do Git.
sobes.tech IA
Resposta da IA
Команды git merge и git rebase используются для интеграции изменений из одной ветки в другую, но делают это по-разному.
-
git merge создаёт новый коммит слияния, который объединяет истории обеих веток, сохраняя их параллельное развитие. История веток остаётся ветвистой.
-
git rebase переносит (переписывает) коммиты текущей ветки поверх другой ветки, создавая линейную историю без коммитов слияния.
Пример:
# merge
git checkout feature
git merge main # создаст коммит слияния
# rebase
git checkout feature
git rebase main # "перенесёт" коммиты feature поверх main
Использование rebase упрощает историю, но изменяет коммиты, что может быть опасно для публичных веток. merge безопаснее для совместной работы, так как сохраняет историю без переписывания.