--- title: Perform an interactive rebase tags: branch,advanced --- Performs an interactive rebase. - Use `git rebase -i ` to perform an interactive rebase. - You can edit the rebase file to change the order of the commits and the action to perform for each one (pick, squash, drop, reword etc.). - You can optionally use the `--autosquash` option to automatically squash fixup commits. - If you have merge conflicts or stop to make changes, you can continue the rebase when ready using `git rebase --continue` or abort it using `git rebase --abort`. ```sh git rebase -i [--autosquash] ``` ```sh git rebase -i 3050fc0de # Performs an interactive rebase starting from `3050fc0de` git rebase -i --autosquash HEAD~5 # Performs an interactive rebase of the last 5 commits, # automatically squashing fixup commits ```