Merge branch 'ab/install-symlinks' into next
[gitweb.git] / Documentation / git-rebase.txt
index 3277ca143273e01f5f4973ed351c8a5cb4b8e0fa..2b85416f969aee96bf42a7233549a993f1974798 100644 (file)
@@ -378,6 +378,17 @@ The commit list format can be changed by setting the configuration option
 rebase.instructionFormat.  A customized instruction format will automatically
 have the long commit hash prepended to the format.
 
+--recreate-merges[=(rebase-cousins|no-rebase-cousins)]::
+       Recreate merge commits instead of flattening the history by replaying
+       merges. Merge conflict resolutions or manual amendments to merge
+       commits are not recreated automatically, but have to be recreated
+       manually.
++
+By default, or when `no-rebase-cousins` was specified, commits which do not
+have `<upstream>` as direct ancestor keep their original branch point.
+If the `rebase-cousins` mode is turned on, such commits are rebased onto
+`<upstream>` (or `<onto>`, if specified).
+
 -p::
 --preserve-merges::
        Recreate merge commits instead of flattening the history by replaying
@@ -780,7 +791,8 @@ BUGS
 The todo list presented by `--preserve-merges --interactive` does not
 represent the topology of the revision graph.  Editing commits and
 rewording their commit messages should work fine, but attempts to
-reorder commits tend to produce counterintuitive results.
+reorder commits tend to produce counterintuitive results. Use
+--recreate-merges for a more faithful representation.
 
 For example, an attempt to rearrange
 ------------