Rebasing is the process of moving or combining a sequence of commits to a new base commit. Rebase alters the history of your repository. If you push commits out to the world and then you change your view of the commit history, it becomes difficult to work with anyone who has your old history.