--- title: Rebasing tags: git,notes --- ![](https://i.imgur.com/mJnt6Y4.png) Git rebase is mostly intended for two very specific workflows: - Reording or editing commits in local repository prior to push - Making your commits apply cleanly on top of an upstream HEAD. Editing Git History `git rebase -i { branch / HEAD~n / commit }` Pulling using rebase `git pull --rebase` - Basically puts your non pushed commits to the top of pulled commits