Git Advanced Cheat Sheet/Interactive rebase preserving merges

Rebase while preserving merge topology.

Section: History Rewriting

Interactive rebase preserving merges

bash
bash
git rebase -i --rebase-merges main
Explanation

Useful when you need the benefits of interactive rebase but your feature branch already contains meaningful merge structure.

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 History Rewriting
Interactive rebase last 5 commits
Open the last 5 commits in the interactive rebase todo list.
OpenIn sheetbashsame section
Rebase a branch onto a new base
Move a branch from one base commit or branch to another.
OpenIn sheetbashsame section
Amend last commit without changing message
Replace the most recent commit using the current staged changes.
OpenIn sheetbashsame section
Rewrite history to keep a subdirectory
Create a new history containing only one subdirectory.
OpenIn sheetbashsame section
Cherry-pick a range without committing
Apply commit changes into the index and working tree first.
OpenIn sheetbash2 tag match
Start a bisect session
Begin a binary search to find the commit that introduced a bug.
OpenIn sheetbash2 tag match