Merge - создает merge commit, сохраняет историю веток. Rebase - переносит коммиты на другую базу, линейная история. Rebase переписывает историю; не делать на общих ветках. Rebase для локальной очистки перед merge.