@@ -21,15 +21,17 @@ If <branch> is specified, 'git rebase' will perform an automatic
2121it remains on the current branch.
2222
2323If <upstream> is not specified, the upstream configured in
24- branch.<name>.remote and branch.<name>.merge options will be used; see
25- linkgit:git-config[1] for details. If you are currently not on any
26- branch or if the current branch does not have a configured upstream,
27- the rebase will abort.
24+ branch.<name>.remote and branch.<name>.merge options will be used ( see
25+ linkgit:git-config[1] for details) and the `--fork-point` option is
26+ assumed. If you are currently not on any branch or if the current
27+ branch does not have a configured upstream, the rebase will abort.
2828
2929All changes made by commits in the current branch but that are not
3030in <upstream> are saved to a temporary area. This is the same set
31- of commits that would be shown by `git log <upstream>..HEAD` (or
32- `git log HEAD`, if --root is specified).
31+ of commits that would be shown by `git log <upstream>..HEAD`; or by
32+ `git log 'fork_point'..HEAD`, if `--fork-point` is active (see the
33+ description on `--fork-point` below); or by `git log HEAD`, if the
34+ `--root` option is specified.
3335
3436The current branch is reset to <upstream>, or <newbase> if the
3537--onto option was supplied. This has the exact same effect as
@@ -327,13 +329,18 @@ link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details)
327329
328330--fork-point::
329331--no-fork-point::
330- Use 'git merge-base --fork-point' to find a better common ancestor
331- between `upstream` and ` branch` when calculating which commits have
332- have been introduced by ` branch` (see linkgit:git-merge-base[1]) .
332+ Use reflog to find a better common ancestor between <upstream>
333+ and < branch> when calculating which commits have been
334+ introduced by < branch> .
333335+
334- If no non-option arguments are given on the command line, then the default is
335- `--fork-point @{u}` otherwise the `upstream` argument is interpreted literally
336- unless the `--fork-point` option is specified.
336+ When --fork-point is active, 'fork_point' will be used instead of
337+ <upstream> to calculate the set of commits to rebase, where
338+ 'fork_point' is the result of `git merge-base --fork-point <upstream>
339+ <branch>` command (see linkgit:git-merge-base[1]). If 'fork_point'
340+ ends up being empty, the <upstream> will be used as a fallback.
341+ +
342+ If either <upstream> or --root is given on the command line, then the
343+ default is `--no-fork-point`, otherwise the default is `--fork-point`.
337344
338345--ignore-whitespace::
339346--whitespace=<option>::
0 commit comments