Oh, and before anybody goes any further with this: it's a very convenient feature, but it _is_ still technically nothing but a very nice interface to cherry-picking and rebasing history.

So all the caveats about _not_ doing this with public history that others have already seen and possibly merged are still in place. That part doesn't change at all.

So it's great to do with private changes to clean them up before publicizing them, or possibly with branches that you have explicitly told people are _not_ stable, but it is still very much about creating a totally new history.