git-rebase(1)
=============

NAME
----
git-rebase - Rebase local commits to new upstream head

SYNOPSIS
--------
'git-rebase' [--onto <newbase>] <upstream> [<branch>]

DESCRIPTION
-----------
git-rebase applies to <upstream> (or optionally to <newbase>) commits
from <branch> that do not appear in <upstream>. When <branch> is not
specified it defaults to the current branch (HEAD).

When git-rebase is complete, <branch> will be updated to point to the
newly created line of commit objects, so the previous line will not be
accessible unless there are other references to it already.

Assume the following history exists and the current branch is "topic":

          A---B---C topic
         /
    D---E---F---G master

From this point, the result of either of the following commands:

    git-rebase master
    git-rebase master topic

would be:

                  A'--B'--C' topic
                 /
    D---E---F---G master

While, starting from the same point, the result of either of the following
commands:

    git-rebase --onto master~1 master
    git-rebase --onto master~1 master topic

would be:

              A'--B'--C' topic
             /
    D---E---F---G master

In case of conflict, git-rebase will stop at the first problematic commit
and leave conflict markers in the tree.  After resolving the conflict manually
and updating the index with the desired resolution, you can continue the
rebasing process with

    git am --resolved --3way

Alternatively, you can undo the git-rebase with

    git reset --hard ORIG_HEAD
    rm -r .dotest

OPTIONS
-------
<newbase>::
	Starting point at which to create the new commits. If the
	--onto option is not specified, the starting point is
	<upstream>.

<upstream>::
	Upstream branch to compare against.

<branch>::
	Working branch; defaults to HEAD.

Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite

