The git rebase command is used to alter where a sequence of commits is based. This command requires at least the name of the other branch onto which your commits will be relocated. By default, the commits from the current branch that are not already on the other branch are rebased.
A common use for git rebase is to keep a series
of commits that you are developing up-to-date with respect to another
branch, usually a
master branch or a tracking branch
from another repository.
In Figure 10-12, two branches have
been developed. Originally, the
topic branch started on the
branch when it was at commit
B. In the meantime, it
has progressed to commit
Figure 10-12. Before git rebase
You can keep your commit series up-to-date with respect to the
master branch by writing the commits so that they are
based on commit
E rather than
topic branch needs to be the current
branch, you can use either:
git checkout topic$
git rebase master
git rebase master topic
After the rebase operation is complete, the new commit graph resembles Figure 10-13.
Figure 10-13. After git rebase
Using the git rebase command in situations like
the one shown in Figure 10-12 is often
called forward porting. In this example, the
topic branch has
been forward ported to the
master branch. ...