From: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
---
Documentation/git-rebase.txt | 183 +++++++++++++++++++++---------------------
1 files changed, 93 insertions(+), 90 deletions(-)
Show changes to Documentation/git-rebase.txt +93 −74
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 30e5c0e..297b85b 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -204,6 +204,10 @@ rebase.autosquash::
OPTIONS
-------
+
+<branch>::
+ Working branch; defaults to HEAD.
+
<newbase>::
Starting point at which to create the new commits. If the
--onto option is not specified, the starting point is
@@ -218,66 +222,24 @@ leave out at most one of A and B, in which case it defaults to HEAD.
Upstream branch to compare against. May be any valid commit,
not just an existing branch name.
-<branch>::
- Working branch; defaults to HEAD.
-
---continue::
- Restart the rebasing process after having resolved a merge conflict.
-
--abort::
Restore the original branch and abort the rebase operation.
+ See also `--continue' and `--skip'.
---skip::
- Restart the rebasing process by skipping the current patch.
-
--m::
---merge::
- Use merging strategies to rebase. When the recursive (default) merge
- strategy is used, this allows rebase to be aware of renames on the
- upstream side.
+--autosquash::
+--no-autosquash::
+ When the commit log message begins with "squash! ..." (or
+ "fixup! ..."), and there is a commit whose title begins with
+ the same ..., automatically modify the todo list of rebase -i
+ so that the commit marked for squashing comes right after the
+ commit to be modified, and change the action of the moved
+ commit from `pick` to `squash` (or `fixup`).
+
-Note that a rebase merge works by replaying each commit from the working
-branch on top of the <upstream> branch. Because of this, when a merge
-conflict happens, the side reported as 'ours' is the so-far rebased
-series, starting with <upstream>, and 'theirs' is the working branch. In
-other words, the sides are swapped.
-
--s <strategy>::
---strategy=<strategy>::
- Use the given merge strategy.
- If there is no `-s` option 'git merge-recursive' is used
- instead. This implies --merge.
+This option is only valid when the '--interactive' option is used.
+
-Because 'git rebase' replays each commit from the working branch
-on top of the <upstream> branch using the given strategy, using
-the 'ours' strategy simply discards all patches from the <branch>,
-which makes little sense.
-
--X <strategy-option>::
---strategy-option=<strategy-option>::
- Pass the <strategy-option> through to the merge strategy.
- This implies `\--merge` and, if no strategy has been
- specified, `-s recursive`. Note the reversal of 'ours' and
- 'theirs' as noted in above for the `-m` option.
-
--q::
---quiet::
- Be quiet. Implies --no-stat.
-
--v::
---verbose::
- Be verbose. Implies --stat.
-
---stat::
- Show a diffstat of what changed upstream since the last rebase. The
- diffstat is also controlled by the configuration option rebase.stat.
-
--n::
---no-stat::
- Do not show a diffstat as part of the rebase process.
-
---no-verify::
- This option bypasses the pre-rebase hook. See also linkgit:githooks[5].
+If the '--autosquash' option is enabled by default using the
+configuration variable `rebase.autosquash`, this option can be
+used to override and disable this setting.
-C<n>::
Ensure at least <n> lines of surrounding context match before
@@ -285,6 +247,16 @@ which makes little sense.
context exist they all must match. By default no context is
ever ignored.
+--continue::
+ Restart the rebasing process after having resolved a merge conflict.
+ See also `--abort' and `--skip'.
+
+--committer-date-is-author-date::
+--ignore-date::
+ These flags are passed to 'git am' to easily change the dates
+ of the rebased commits (see linkgit:git-am[1]).
+ Incompatible with the --interactive option.
+
-f::
--force-rebase::
Force the rebase even if the current branch is a descendant
@@ -299,23 +271,62 @@ fresh commits so it can be remerged successfully without needing to "revert
the reversion" (see the
link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for details).
+-i::
+--interactive::
+ Make a list of the commits which are about to be rebased. Let the
+ user edit that list before rebasing. This mode can also be used to
+ split commits (see SPLITTING COMMITS below).
+
--ignore-whitespace::
--whitespace=<option>::
These flag are passed to the 'git apply' program
(see linkgit:git-apply[1]) that applies the patch.
Incompatible with the --interactive option.
---committer-date-is-author-date::
---ignore-date::
- These flags are passed to 'git am' to easily change the dates
- of the rebased commits (see linkgit:git-am[1]).
- Incompatible with the --interactive option.
+-m::
+--merge::
+ Use merging strategies to rebase. When the recursive (default) merge
+ strategy is used, this allows rebase to be aware of renames on the
+ upstream side.
++
+Note that a rebase merge works by replaying each commit from the working
+branch on top of the <upstream> branch. Because of this, when a merge
+conflict happens, the side reported as 'ours' is the so-far rebased
+series, starting with <upstream>, and 'theirs' is the working branch. In
+other words, the sides are swapped.
--i::
---interactive::
- Make a list of the commits which are about to be rebased. Let the
- user edit that list before rebasing. This mode can also be used to
- split commits (see SPLITTING COMMITS below).
+-n::
+--no-stat::
+ Do not show a diffstat as part of the rebase process.
+
+--no-ff::
+ With --interactive, cherry-pick all rebased commits instead of
+ fast-forwarding over the unchanged ones. This ensures that the
+ entire history of the rebased branch is composed of new commits.
++
+Without --interactive, this is a synonym for --force-rebase.
++
+You may find this helpful after reverting a topic branch merge, as this option
+recreates the topic branch with fresh commits so it can be remerged
+successfully without needing to "revert the reversion" (see the
+link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for details).
+--no-verify::
+ This option bypasses the pre-rebase hook. See also linkgit:githooks[5].
+
+-s <strategy>::
+--strategy=<strategy>::
+ Use the given merge strategy.
+ If there is no `-s` option 'git merge-recursive' is used
+ instead. This implies --merge.
++
+Because 'git rebase' replays each commit from the working branch
+on top of the <upstream> branch using the given strategy, using
+the 'ours' strategy simply discards all patches from the <branch>,
+which makes little sense.
+
+--skip::
+ Restart the rebasing process by skipping the current patch.
+ See also `--abort' and `--contnue'.
-p::
--preserve-merges::
@@ -326,6 +337,10 @@ with the `--interactive` option explicitly is generally not a good
idea unless you know what you are doing (see BUGS below).
+-q::
+--quiet::
+ Be quiet. Implies --no-stat.
+
--root::
Rebase all commits reachable from <branch>, instead of
limiting them with an <upstream>. This allows you to rebase
@@ -335,32 +350,20 @@ idea unless you know what you are doing (see BUGS below).
root commits will be rewritten to have <newbase> as parent
instead.
---autosquash::
---no-autosquash::
- When the commit log message begins with "squash! ..." (or
- "fixup! ..."), and there is a commit whose title begins with
- the same ..., automatically modify the todo list of rebase -i
- so that the commit marked for squashing comes right after the
- commit to be modified, and change the action of the moved
- commit from `pick` to `squash` (or `fixup`).
-+
-This option is only valid when the '--interactive' option is used.
-+
-If the '--autosquash' option is enabled by default using the
-configuration variable `rebase.autosquash`, this option can be
-used to override and disable this setting.
+--stat::
+ Show a diffstat of what changed upstream since the last rebase. The
+ diffstat is also controlled by the configuration option rebase.stat.
---no-ff::
- With --interactive, cherry-pick all rebased commits instead of
- fast-forwarding over the unchanged ones. This ensures that the
- entire history of the rebased branch is composed of new commits.
-+
-Without --interactive, this is a synonym for --force-rebase.
-+
-You may find this helpful after reverting a topic branch merge, as this option
-recreates the topic branch with fresh commits so it can be remerged
-successfully without needing to "revert the reversion" (see the
-link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for details).
+-v::
+--verbose::
+ Be verbose. Implies --stat.
+
+-X <strategy-option>::
+--strategy-option=<strategy-option>::
+ Pass the <strategy-option> through to the merge strategy.
+ This implies `\--merge` and, if no strategy has been
+ specified, `-s recursive`. Note the reversal of 'ours' and
+ 'theirs' as noted in above for the `-m` option.
include::merge-strategies.txt[]
--
1.7.2.3