DEVOPSTRAINER
Вопросы / Git и CI/CD

Чем `merge` отличается от `rebase`?

Краткий ответ

- git merge - выполняет слияние коммитов из одной ветки в другую. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной.

![git-merge](imgs/git-merge.png)

*Преимущества*:
1. Простота,
2. Сохраняет полную историю и хронологический порядок,
3. Поддерживает контекст ветки.

*Недостатки*:
1. История коммитов может быть заполнена (загрязнена) множеством коммитов,
2. Отладка с использованием git bisect может стать сложнее.

- git rebase - сжимает все изменения в один патч. Затем интегрирует патч в целевую ветку. В отличии от *merge*, *rebase* перезаписывает историю, потому что она передаётся завершенную работу из одной ветки в другую. В процесс

Ещё вопросы по теме «Git и CI/CD»

Готовишься к DevOps-собеседованию?
Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →