git rebase to move a batch of patches onto the current branch
- From
Avery Pennarun <apenwarr@gmail.com>
- Date
- Jul 24, 2008, 19:57 UTC
- Message-ID
- <32541b130807241257j7820a591if8ca01c66bbcd6b2@mail.gmail.com>
Hi,
I often find myself being on a branch and wanting to do the equivalent of a series of cherry-picks from another branch into the current one. Unfortunately, "git cherry-pick" only does one patch at a time (which is very tedious), and "git rebase", which is much less tedious to use, seems to specializing in applying your current branch on top of another branch, not the other way around.
Currently I do something like this:
git checkout -b tmp branch_with_interesting_stuff~5
git rebase --onto mybranch branch_with_interesting_stuff~15
git branch -d mybranch
git branch -m tmp mybranchBut it seems a little complex when what I *really* want to type is something like:
git cherry-pick branch_with_interesting_stuff~15..branch_with_interesting_stuff~5
and have it give me a rebase-style UI in case of conflicts, etc. And of course, even more bonus points if I can get "rebase -i" functionality.
Am I missing an obvious syntax option here or is this not something normal people want to do?
I see that the second option to rebase sounds almost right:
If <branch> is specified, git-rebase will perform an automatic git
checkout <branch> before doing anything else. Otherwise it remains
on the current branch.So I could perhaps do this:
git rebase --onto mybranch branch_with_interesting_stuff~15 \
branch_with_interesting_stuffBut it sounds like that would rewrite branch_with_interesting_stuff instead of mybranch.
Thanks,
Avery