Bill Lear venit, vidit, dixit 18.10.2009 04:31: > Branch A, B, C each have 20 commits, 0-19. > > Branch v1.0.0 created, then merge of A, B, C performed. > > After testing, we realize that the branch B is not ready for > production release and we'd like to remove it from branch > v1.0.0. > > If I do > > % git merge A B C > > I get a single commit: > > % git log -p > > commit 1644a0b98c01869aa83e59aa41374c22098c47b6 > [...] > Date: Fri Oct 16 09:52:32 2009 -0500 > > Merge branches 'A', 'B' and 'C' into v1.0.0 > > [20 x 3 commits] > > If I do > > % git merge A > % git merge B > % git merge C > > Then: > > % git log -p > > commit 8946edd381384d0882221c87b5b3b7bf47127d70 > [...] > Date: Sat Oct 17 21:28:36 2009 -0500 > > Merge branch 'B' into v1.0.0 > > commit 076ed422443e3684e564f7cae2b92e4538088ae6 > [...] > Date: Sat Oct 17 21:28:35 2009 -0500 > > Merge branch 'A' into v1.0.0 > > but no "Merge branch 'C' into v1.0.0". Do you get any commits after the merge of B? If yes, then v1.0.0 got fast-forwarded (you can avoid that using --no-ff). If no, C was contained in v1.0.0 already. In both cases, it's not clear how C could have been "ready" when B was not. > And so, I'm faced with git rebase -i posing some unanswerable questions > to our release manager. She cannot easily remove B from the merge after > doint either merge A B C, or merge A, merge B, merge C. The way you described the situation there are no commits after the merges. So, why not reset to before the merge and do a "git merge A C"? Michael -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html