From: Junio C Hamano Date: Tue, 14 Oct 2014 17:49:06 +0000 (-0700) Subject: Merge branch 'so/rebase-doc-fork-point' X-Git-Tag: v2.2.0-rc0~58 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/792a5723207330f473d64f0c6e32a17e5535a265?hp=-c Merge branch 'so/rebase-doc-fork-point' * so/rebase-doc-fork-point: Documentation/git-rebase.txt: document when --fork-point is auto-enabled --- 792a5723207330f473d64f0c6e32a17e5535a265 diff --combined Documentation/git-rebase.txt index 4138554912,43770500cf..924827dc2e --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@@ -9,7 -9,7 +9,7 @@@ SYNOPSI -------- [verse] 'git rebase' [-i | --interactive] [options] [--exec ] [--onto ] - [] [] + [ []] 'git rebase' [-i | --interactive] [options] [--exec ] [--onto ] --root [] 'git rebase' --continue | --skip | --abort | --edit-todo @@@ -21,15 -21,17 +21,17 @@@ If is specified, 'git rebase' it remains on the current branch. If is not specified, the upstream configured in - branch..remote and branch..merge options will be used; see - linkgit:git-config[1] for details. If you are currently not on any - branch or if the current branch does not have a configured upstream, - the rebase will abort. + branch..remote and branch..merge options will be used (see + linkgit:git-config[1] for details) and the `--fork-point` option is + assumed. If you are currently not on any branch or if the current + branch does not have a configured upstream, the rebase will abort. All changes made by commits in the current branch but that are not in are saved to a temporary area. This is the same set - of commits that would be shown by `git log ..HEAD` (or - `git log HEAD`, if --root is specified). + of commits that would be shown by `git log ..HEAD`; or by + `git log 'fork_point'..HEAD`, if `--fork-point` is active (see the + description on `--fork-point` below); or by `git log HEAD`, if the + `--root` option is specified. The current branch is reset to , or if the --onto option was supplied. This has the exact same effect as @@@ -281,10 -283,6 +283,10 @@@ which makes little sense specified, `-s recursive`. Note the reversal of 'ours' and 'theirs' as noted above for the `-m` option. +-S[]:: +--gpg-sign[=]:: + GPG-sign commits. + -q:: --quiet:: Be quiet. Implies --no-stat. @@@ -316,8 -314,11 +318,8 @@@ -f:: --force-rebase:: - Force the rebase even if the current branch is a descendant - of the commit you are rebasing onto. Normally non-interactive rebase will - exit with the message "Current branch is up to date" in such a - situation. - Incompatible with the --interactive option. + Force a rebase even if the current branch is up-to-date and + the command without `--force` would return without doing anything. + You may find this (or --no-ff with an interactive rebase) helpful after reverting a topic branch merge, as this option recreates the topic branch with @@@ -327,13 -328,18 +329,18 @@@ link:howto/revert-a-faulty-merge.html[r --fork-point:: --no-fork-point:: - Use 'git merge-base --fork-point' to find a better common ancestor - between `upstream` and `branch` when calculating which commits have - have been introduced by `branch` (see linkgit:git-merge-base[1]). + Use reflog to find a better common ancestor between + and when calculating which commits have been + introduced by . + - If no non-option arguments are given on the command line, then the default is - `--fork-point @{u}` otherwise the `upstream` argument is interpreted literally - unless the `--fork-point` option is specified. + When --fork-point is active, 'fork_point' will be used instead of + to calculate the set of commits to rebase, where + 'fork_point' is the result of `git merge-base --fork-point + ` command (see linkgit:git-merge-base[1]). If 'fork_point' + ends up being empty, the will be used as a fallback. + + + If either or --root is given on the command line, then the + default is `--no-fork-point`, otherwise the default is `--fork-point`. --ignore-whitespace:: --whitespace=