Using rebase, we can do most of the things.
Such as:-
1. take all commits from a branch and put them on top of another branch (this processing will be done in any of the branches)
2. delete a commit in middle of the tree of a branch
3. so more