---
# System prepended metadata

title: Rebasing
tags: [git, notes]

---

---
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
