summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-12-09 23:16:16 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-12-10 18:56:30 (GMT)
commitad8261d21221d27638c75f47b39892db6f7972f6 (patch)
treed1e5ee3392f62b1eb07e6703b034a7e033ddc30b /Documentation
parent48059e405028ebf8a09c5a9aede89dfb460cce98 (diff)
downloadgit-ad8261d21221d27638c75f47b39892db6f7972f6.zip
git-ad8261d21221d27638c75f47b39892db6f7972f6.tar.gz
git-ad8261d21221d27638c75f47b39892db6f7972f6.tar.bz2
rebase: use reflog to find common base with upstream
Commit 15a147e (rebase: use @{upstream} if no upstream specified, 2011-02-09) says: Make it default to 'git rebase @{upstream}'. That is also what 'git pull [--rebase]' defaults to, so it only makes sense that 'git rebase' defaults to the same thing. but that isn't actually the case. Since commit d44e712 (pull: support rebased upstream + fetch + pull --rebase, 2009-07-19), pull has actually chosen the most recent reflog entry which is an ancestor of the current branch if it can find one. Add a '--fork-point' argument to git-rebase that can be used to trigger this behaviour. This option is turned on by default if no non-option arguments are specified on the command line, otherwise we treat an upstream specified on the command-line literally. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-rebase.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
index 94e07fd..2889be6 100644
--- a/Documentation/git-rebase.txt
+++ b/Documentation/git-rebase.txt
@@ -324,6 +324,16 @@ fresh commits so it can be remerged successfully without needing to "revert
the reversion" (see the
link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for details).
+--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]).
++
+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.
+
--ignore-whitespace::
--whitespace=<option>::
These flag are passed to the 'git apply' program