git rebase example

Example 1: git rebase

#The branches are like this
          A---B---C topic
         /
    D---E---F---G main
#git rebase <base> <target>
git rebase master topic
#<target> get moved forward on <base>
#NOTE: commits on <target> change their hash
                  A°--B°--C° topic
                 /
    D---E---F---G main

Example 2: what is git rebase

the rebase command integrates changes from one branch into
another. It is an alternative to the better known "merge" 
command. Most visibly, rebase differs from merge by rewriting
the commit history in order to produce a straight,
linear succession of commits.

Example 3: which branch do I "rebase on"

$ git checkout experiment
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: added staged command

Example 4: git rebase

$ git rebase --onto master server client

Example 5: git rebase

git rebase -i --root
git rebase -i HEAD~3

Example 6: git rebase

Generally, it is an alternative of git merge command. Merge is always a forward changing record. Comparatively, rebase is a compelling history rewriting tool in git. It merges the different commits one by one.