Git rebase

A typical merge will take the changes applied to that branch since the last merge and apply them to the affected branch. A rebase on the other hand will take the commits created on the branch, remove them, and then apply them after all the commits on the branch you are rebasing on.

These are my experiences with rebasing