+<p>git-rebase replaces <branch> with a new branch of the same name. When\r
+the --onto option is provided the new branch starts out with a HEAD equal\r
+to <newbase>, otherwise it is equal to <upstream>. It then attempts to\r
+create a new commit for each commit from the original <branch> that does\r
+not exist in the <upstream> branch.</p>\r
+<p>It is possible that a merge failure will prevent this process from being\r
+completely automatic. You will have to resolve any such merge failure\r
+and run <tt>git rebase --continue</tt>. Another option is to bypass the commit\r
+that caused the merge failure with <tt>git rebase --skip</tt>. To restore the\r
+original <branch> and remove the .dotest working files, use the command\r
+<tt>git rebase --abort</tt> instead.</p>\r
+<p>Note that if <branch> is not specified on the command line, the currently\r
+checked out branch is used.</p>\r
+<p>Assume the following history exists and the current branch is "topic":</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> A---B---C topic\r
+ /\r
+ D---E---F---G master</tt></pre>\r
+</div></div>\r
+<p>From this point, the result of either of the following commands:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>git-rebase master\r
+git-rebase master topic</tt></pre>\r
+</div></div>\r
+<p>would be:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> A'--B'--C' topic\r
+ /\r
+ D---E---F---G master</tt></pre>\r
+</div></div>\r
+<p>While, starting from the same point, the result of either of the following\r
+commands:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>git-rebase --onto master~1 master\r
+git-rebase --onto master~1 master topic</tt></pre>\r
+</div></div>\r
+<p>would be:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt> A'--B'--C' topic\r
+ /\r
+ D---E---F---G master</tt></pre>\r
+</div></div>\r
+<p>In case of conflict, git-rebase will stop at the first problematic commit\r
+and leave conflict markers in the tree. You can use git diff to locate\r
+the markers (<<<<<<) and make edits to resolve the conflict. For each\r
+file you edit, you need to tell git that the conflict has been resolved,\r
+typically this would be done with</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>git update-index <filename></tt></pre>\r
+</div></div>\r
+<p>After resolving the conflict manually and updating the index with the\r
+desired resolution, you can continue the rebasing process with</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>git rebase --continue</tt></pre>\r
+</div></div>\r
+<p>Alternatively, you can undo the git-rebase with</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>git rebase --abort</tt></pre>\r
+</div></div>\r