# cherry-pick/rebase question

2 messages from 2009-01-21 to 2009-01-21. Participants: Jay Soffian.
Thread: https://gitlist.dev/t/17286

## Jay Soffian, 2009-01-21 17:27

Subject: cherry-pick/rebase question
Message-ID: <76718490901210927m7fd3fbdey6ebd4cbfe44b1b71@mail.gmail.com>
URL: https://gitlist.dev/e/76718490901210927m7fd3fbdey6ebd4cbfe44b1b71%40mail.gmail.com

```
Say I have the following linear set of commits on master:

A---B---C---D---E---F---G master

And I realize that I've intermixed two topics such that I want to move
commits B and E-G to their own branch. So my result should be:

A---C'---D' master
 \
  B'---E'---F'---G' topic

What's the best way to do it?

I read the rebase and cherry-pick man pages, found myself confused,
tried rebase a few different ways, failed, and ended up doing what I
needed with format-patch and am. (Extract B-G with format-patch, reset
master to A, create topic branch, apply B,E,F,G to topic with am,
similarly apply C,D to master with am.)

Thanks,

j.

```

## Jay Soffian, 2009-01-21 17:46

Subject: Re: cherry-pick/rebase question
Message-ID: <76718490901210946v6494dd6ejca5a69e1d0d5cfa4@mail.gmail.com>
URL: https://gitlist.dev/e/76718490901210946v6494dd6ejca5a69e1d0d5cfa4%40mail.gmail.com
In-Reply-To: <76718490901210927m7fd3fbdey6ebd4cbfe44b1b71@mail.gmail.com>

```
On Wed, Jan 21, 2009 at 12:27 PM, Jay Soffian <jaysoffian@gmail.com> wrote:
> Say I have the following linear set of commits on master:
>
> A---B---C---D---E---F---G master
>
> And I realize that I've intermixed two topics such that I want to move
> commits B and E-G to their own branch. So my result should be:
>
> A---C'---D' master
>  \
>  B'---E'---F'---G' topic
>
> What's the best way to do it?
>
> I read the rebase and cherry-pick man pages, found myself confused,
> tried rebase a few different ways, failed, and ended up doing what I
> needed with format-patch and am. (Extract B-G with format-patch, reset
> master to A, create topic branch, apply B,E,F,G to topic with am,
> similarly apply C,D to master with am.)

Hmm, not sure why I didn't think of it earlier, but I guess the easiest way is:

(master)$ git co -b topic
(topic )$ git rebase -i A (remove C and D)
(topic )$ git co master
(master)$ git rebase -i A (remove B, E-G)

j.

```
