what is rebase for in git code 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: 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.