Autogenerated man pages for v1.3.1-g7464
authorJunio C Hamano <junio@hera.kernel.org>
Tue, 2 May 2006 07:28:12 +0000 (07:28 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Tue, 2 May 2006 07:28:12 +0000 (07:28 +0000)
man1/git-rebase.1

index ad7864cb3dabf18737b12d2bd3c345032edf6ccc..dca31e15c099b017598e4ef1d5919f298b211634 100755 (executable)
 ..
 .TH "GIT-REBASE" 1 "" "" ""
 .SH NAME
-git-rebase \- Rebase local commits to new upstream head
+git-rebase \- Rebase local commits to a new head
 .SH "SYNOPSIS"
 
 
 \fIgit\-rebase\fR [\-\-onto <newbase>] <upstream> [<branch>]
 
+
+\fIgit\-rebase\fR \-\-continue
+
+
+\fIgit\-rebase\fR \-\-abort
+
 .SH "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)\&.
+git\-rebase replaces <branch> with a new branch of the same name\&. When the \-\-onto option is provided the new branch starts out with a HEAD equal to <newbase>, otherwise it is equal to <upstream>\&. It then attempts to create a new commit for each commit from the original <branch> that does not exist in the <upstream> branch\&.
 
 
-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\&.
+It is possible that a merge failure will prevent this process from being completely automatic\&. You will have to resolve any such merge failure and run git rebase \-\-continue\&. If you can not resolve the merge failure, running git rebase \-\-abort will restore the original <branch> and remove the working files found in the \&.dotest directory\&.
+
+
+Note that if <branch> is not specified on the command line, the currently checked out branch is used\&.
 
 
 Assume the following history exists and the current branch is "topic":
 
 .nf
-      A\-\-\-B\-\-\-C topic
-     /
-D\-\-\-E\-\-\-F\-\-\-G master
+          A\-\-\-B\-\-\-C topic
+         /
+    D\-\-\-E\-\-\-F\-\-\-G master
 .fi
 
 
@@ -54,9 +63,9 @@ git\-rebase master topic
 would be:
 
 .nf
-              A'\-\-B'\-\-C' topic
-             /
-D\-\-\-E\-\-\-F\-\-\-G master
+                  A'\-\-B'\-\-C' topic
+                 /
+    D\-\-\-E\-\-\-F\-\-\-G master
 .fi
 
 
@@ -71,24 +80,30 @@ git\-rebase \-\-onto master~1 master topic
 would be:
 
 .nf
-          A'\-\-B'\-\-C' topic
-         /
-D\-\-\-E\-\-\-F\-\-\-G master
+              A'\-\-B'\-\-C' topic
+             /
+    D\-\-\-E\-\-\-F\-\-\-G master
+.fi
+
+
+In case of conflict, git\-rebase will stop at the first problematic commit and leave conflict markers in the tree\&. You can use git diff to locate the markers (<<<<<<) and make edits to resolve the conflict\&. For each file you edit, you need to tell git that the conflict has been resolved, typically this would be done with
+
+.nf
+git update\-index <filename>
 .fi
 
 
-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
+After resolving the conflict manually and updating the index with the desired resolution, you can continue the rebasing process with
 
 .nf
-git am \-\-resolved \-\-3way
+git rebase \-\-continue
 .fi
 
 
 Alternatively, you can undo the git\-rebase with
 
 .nf
-git reset \-\-hard ORIG_HEAD
-rm \-r \&.dotest
+git rebase \-\-abort
 .fi
 
 .SH "OPTIONS"
@@ -105,6 +120,25 @@ Upstream branch to compare against\&.
 <branch>
 Working branch; defaults to HEAD\&.
 
+.TP
+\-\-continue
+Restart the rebasing process after having resolved a merge conflict\&.
+
+.TP
+\-\-abort
+Restore the original branch and abort the rebase operation\&.
+
+.SH "NOTES"
+
+
+When you rebase a branch, you are changing its history in a way that will cause problems for anyone who already has a copy of the branch in their repository and tries to pull updates from you\&. You should understand the implications of using \fIgit rebase\fR on a repository that you share\&.
+
+
+When the git rebase command is run, it will first execute a "pre\-rebase" hook if one exists\&. You can use this hook to do sanity checks and reject the rebase if it isn't appropriate\&. Please see the template pre\-rebase hook script for an example\&.
+
+
+You must be in the top directory of your project to start (or continue) a rebase\&. Upon completion, <branch> will be the current branch\&.
+
 .SH "AUTHOR"