how to rebase 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: 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 3: git rebase

$ git rebase --onto master server client

Example 4: git rebase

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