Code

"rebase --onto A...B" replays history on the merge base between A and B
authorJunio C Hamano <gitster@pobox.com>
Fri, 20 Nov 2009 11:02:44 +0000 (03:02 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 21 Nov 2009 17:22:55 +0000 (09:22 -0800)
commit61dfa1bb6710690e53fa20bc3ddd1f5fbe8c1d22
tree628df3a2adaf54ca3e6a00e852c659a62f3b2fb5
parent619a644d6daef56d70aeca85514e2d281eb483a5
"rebase --onto A...B" replays history on the merge base between A and B

This is in spirit similar to "checkout A...B".  To re-queue a new set of
patches for a series that the original author prepared to apply on 'next'
on the same base as before, you would do something like this:

    $ git checkout next^0
    $ git am -s rerolled-series.mbox
    $ git rebase --onto next...jh/notes next

The first two commands recreates commits to be rebased as the original
author intended (i.e. applies directly on top of 'next'), and the rebase
command replays that history on top of the same commit the series being
replaced was built on (which is typically much older than the tip of
'next').

Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase.sh