Maintain merge structure while rebasing.
Section: Common Rebase Workflows
Rebase preserving merges
bash
bash
git rebase --rebase-merges mainExplanation
A more advanced option when branch history contains meaningful merges that should not be flattened.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing Common Rebase Workflows
Rebase current branch onto main
Replay your branch on top of the latest main.
Fetch and rebase instead of merge
Update your current branch with a linear pull strategy.
Rebase with autostash
Temporarily stash dirty worktree changes before rebasing.
Rewrite history from the root commit
Run interactive rebase from the start of the repository.