Merging using rebase in git

Rebase is one of the branch merging strategy in Git. With 3 way merge strategy, git history becomes non-linear. But with rebase, Git history becomes linear. With rebase, commits of feature branch are played on the top of main branch thus creating a linear history. Below command will play the commits (up to common parent of both branches) of currently checked out branch on the top of feature_branch.
 
git rebase feature_branch

Below image would be useful in understanding the Git Rebase command. Here we are playing the commits of local branch (S and T) on the top of remote branch (Q and R). Here is the output of above example.


Complex problems, Simple Solutions