Git Rebase
Each commit (except the initial commit) in git has a parent commit, and we can call that one the base commit. And Rebasing can be view as move a commit to a different base. Note that when rebasing, actually the whole set of commits under rebase will get recreated.