@@ -527,29 +527,12 @@ i.e. commits that would be excluded by linkgit:git-log[1]'s
527527the `rebase-cousins` mode is turned on, such commits are instead rebased
528528onto `<upstream>` (or `<onto>`, if specified).
529529+
530- The `--rebase-merges` mode is similar in spirit to the deprecated
531- `--preserve-merges` but works with interactive rebases,
532- where commits can be reordered, inserted and dropped at will.
533- +
534530It is currently only possible to recreate the merge commits using the
535531`ort` merge strategy; different merge strategies can be used only via
536532explicit `exec git merge -s <strategy> [...]` commands.
537533+
538534See also REBASING MERGES and INCOMPATIBLE OPTIONS below.
539535
540- -p::
541- --preserve-merges::
542- [DEPRECATED: use `--rebase-merges` instead] Recreate merge commits
543- instead of flattening the history by replaying commits a merge commit
544- introduces. Merge conflict resolutions or manual amendments to merge
545- commits are not preserved.
546- +
547- This uses the `--interactive` machinery internally, but combining it
548- with the `--interactive` option explicitly is generally not a good
549- idea unless you know what you are doing (see BUGS below).
550- +
551- See also INCOMPATIBLE OPTIONS below.
552-
553536-x <cmd>::
554537--exec <cmd>::
555538 Append "exec <cmd>" after each line creating a commit in the
@@ -581,9 +564,6 @@ See also INCOMPATIBLE OPTIONS below.
581564 the root commit(s) on a branch. When used with --onto, it
582565 will skip changes already contained in <newbase> (instead of
583566 <upstream>) whereas without --onto it will operate on every change.
584- When used together with both --onto and --preserve-merges,
585- 'all' root commits will be rewritten to have <newbase> as parent
586- instead.
587567+
588568See also INCOMPATIBLE OPTIONS below.
589569
@@ -645,7 +625,6 @@ are incompatible with the following options:
645625 * --allow-empty-message
646626 * --[no-]autosquash
647627 * --rebase-merges
648- * --preserve-merges
649628 * --interactive
650629 * --exec
651630 * --no-keep-empty
@@ -656,13 +635,6 @@ are incompatible with the following options:
656635
657636In addition, the following pairs of options are incompatible:
658637
659- * --preserve-merges and --interactive
660- * --preserve-merges and --signoff
661- * --preserve-merges and --rebase-merges
662- * --preserve-merges and --empty=
663- * --preserve-merges and --ignore-whitespace
664- * --preserve-merges and --committer-date-is-author-date
665- * --preserve-merges and --ignore-date
666638 * --keep-base and --onto
667639 * --keep-base and --root
668640 * --fork-point and --root
@@ -1280,29 +1252,6 @@ CONFIGURATION
12801252include::config/rebase.txt[]
12811253include::config/sequencer.txt[]
12821254
1283- BUGS
1284- ----
1285- The todo list presented by the deprecated `--preserve-merges --interactive`
1286- does not represent the topology of the revision graph (use `--rebase-merges`
1287- instead). Editing commits and rewording their commit messages should work
1288- fine, but attempts to reorder commits tend to produce counterintuitive results.
1289- Use `--rebase-merges` in such scenarios instead.
1290-
1291- For example, an attempt to rearrange
1292- ------------
1293- 1 --- 2 --- 3 --- 4 --- 5
1294- ------------
1295- to
1296- ------------
1297- 1 --- 2 --- 4 --- 3 --- 5
1298- ------------
1299- by moving the "pick 4" line will result in the following history:
1300- ------------
1301- 3
1302- /
1303- 1 --- 2 --- 4 --- 5
1304- ------------
1305-
13061255GIT
13071256---
13081257Part of the linkgit:git[1] suite
0 commit comments