1 .\"Generated by db2man.xsl. Don't modify this, modify the source.
10 .de Sp \" Vertical space (when we can't use .PP)
16 .ie \\n(.$>=3 .ne \\$3
20 .TH "GIT-REBASE" 1 "" "" ""
22 git-rebase \- Rebase local commits to a new head
26 \fIgit\-rebase\fR [\-\-onto <newbase>] <upstream> [<branch>]
29 \fIgit\-rebase\fR \-\-continue
32 \fIgit\-rebase\fR \-\-abort
37 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\&.
40 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\&.
43 Note that if <branch> is not specified on the command line, the currently checked out branch is used\&.
46 Assume the following history exists and the current branch is "topic":
51 D\-\-\-E\-\-\-F\-\-\-G master
55 From this point, the result of either of the following commands:
59 git\-rebase master topic
68 D\-\-\-E\-\-\-F\-\-\-G master
72 While, starting from the same point, the result of either of the following commands:
75 git\-rebase \-\-onto master~1 master
76 git\-rebase \-\-onto master~1 master topic
85 D\-\-\-E\-\-\-F\-\-\-G master
89 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
92 git update\-index <filename>
96 After resolving the conflict manually and updating the index with the desired resolution, you can continue the rebasing process with
99 git rebase \-\-continue
103 Alternatively, you can undo the git\-rebase with
113 Starting point at which to create the new commits\&. If the \-\-onto option is not specified, the starting point is <upstream>\&.
117 Upstream branch to compare against\&.
121 Working branch; defaults to HEAD\&.
125 Restart the rebasing process after having resolved a merge conflict\&.
129 Restore the original branch and abort the rebase operation\&.
134 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\&.
137 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\&.
140 You must be in the top directory of your project to start (or continue) a rebase\&. Upon completion, <branch> will be the current branch\&.
145 Written by Junio C Hamano <junkio@cox\&.net>
150 Documentation by Junio C Hamano and the git\-list <git@vger\&.kernel\&.org>\&.
155 Part of the \fBgit\fR(7) suite