A---B---C topic / D---E---F---G master
git-rebase - Rebase local commits to new upstream head
git-rebase [--onto <newbase>] <upstream> [<branch>]
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
Starting point at which to create the new commits. If the --onto option is not specified, the starting point is <upstream>.
Upstream branch to compare against.
Working branch; defaults to HEAD.
Written by Junio C Hamano <junkio@cox.net>
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
Part of the git(7) suite