Rebasing Commits
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 master
branch when it was at commit B
. In the meantime, it
has progressed to commit E
.
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 B
.
Since the topic
branch needs to be the current
branch, you can use either:
$git checkout topic
$git rebase master
or:
$ 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. ...
Get Version Control with Git now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.