Re: Rebasing a merged branch
- From
- Peter Baumann <waste.manager@gmx.de>
- Date
- Jul 10, 2010, 07:19 UTC
- Message-ID
- <20100710071955.GA12251@m62s10.vlinux.de>
- In-Reply-To
- <20100710065541.GB15600@foursquare.net>
On Sat, Jul 10, 2010 at 02:55:41AM -0400, Chris Frey wrote:
Show 42 quoted lines
> On Thu, Jul 08, 2010 at 12:52:08PM +0100, Peter Krefting wrote: > > Hi! > > > > If I slightly modify the example from the git-rebase manual page to look > > like this: > > > > o---o---o---o master > > \ > > o---o---o---o---o topicA > > \ / > > A---B---C---D topicB > > > > (topicA has merged "B" into its history; its first-parent from the line of > > "o"s). > > > > If I now do a "git rebase --onto master topicA topicB", I only get commit C > > and D, as it sees A and B as being part of both branches. > > > > Is there a way to make git rebase pick up A, B, C and D (and only them)? > > > > I.e., I would like "all commits on topicB which are not in topicA's > > --first-parent history". > > > I'm no expert on rebase --onto, but aren't you trying to rebase so that > the tree looks like this afterward? > > > o---o---o---o master > \ \ > \ A---B---C---D topicB > \ > o---o---o---o---o topicA > \ / > A---B > > In which case, won't this work? > > git checkout topicB > git rebase master > > - Chris
No, this won't work. You will also rebase A^ (the o) commit in both branches A and B.
AFAIK doing the following should do the trick:
git checkout topicB git rebase --onto master A~1 topicB