@@ -21,15 +21,17 @@ If <branch> is specified, 'git rebase' will perform an automatic
21
21
it remains on the current branch.
22
22
23
23
If <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.
28
28
29
29
All changes made by commits in the current branch but that are not
30
30
in <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.
33
35
34
36
The current branch is reset to <upstream>, or <newbase> if the
35
37
--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)
327
329
328
330
--fork-point::
329
331
--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> .
333
335
+
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`.
337
344
338
345
--ignore-whitespace::
339
346
--whitespace=<option>::
0 commit comments