More things I learned! So there are (at least) 2 possible approaches: using history, or using local tracking branches. The latter looks actually nicer to me, with the exception that if asks for a `git pull`. Using `git pull --rebase` actually also ends up with the same tree, but I like the rebase better.
The following 2 scripts show the 2 approaches. Only difference is in the creation of topic/b and the last rebase command. # History mkdir topic; cd topic git init date > a; git add a; git commit -m a date > b; git add b; git commit -m b git branch -b topic/a git checkout -b topic1 date > c; git add c; git commit -m c date > d; git add d; git commit -m d git checkout -b topic2 date > e; git add e; git commit -m e date > f; git add f; git commit -m f git checkout master date > g; git add g; git commit -m g echo "before rebase"; git log --oneline --graph --all git rebase master topic1 echo "after rebase of topic1"; git log --oneline --graph --all git rebase --onto=topic1 topic1@{1} topic2 echo "after rebase of topic2"; git log --oneline --graph --all # Tracking mkdir topic; cd topic git init date > a; git add a; git commit -m a date > b; git add b; git commit -m b git branch -b topic/a git checkout -b topic1 date > c; git add c; git commit -m c date > d; git add d; git commit -m d git checkout --track topic1 -b topic2 date > e; git add e; git commit -m e date > f; git add f; git commit -m f git checkout master date > g; git add g; git commit -m g echo "before rebase"; git log --oneline --graph --all git rebase master topic1 echo "after rebase of topic1"; git log --oneline --graph --all git rebase --onto=topic1 master topic2 echo "after rebase of topic2"; git log --oneline --graph --all On Wed, Nov 16, 2016 at 5:45 PM, Jeff King <p...@peff.net> wrote: > On Wed, Nov 16, 2016 at 04:12:20PM -0800, Norbert Kiesel wrote: > >> Yes, `git rebase --onto topic1 topic1@{1} topic2` is the answer! > > See also the `--fork-point` option, which (I think) should do this for > you (and is the default if "topic1" is the configured upstream for > topic2 and you just run "git rebase"). > > -Peff