# Changes based on a branch not yet merged back to master

2 messages from 2014-04-08 to 2014-04-08. Participants: K. Kwan, Jeff King.
Thread: https://gitlist.dev/t/36371

## K. Kwan, 2014-04-08 18:22

Subject: Changes based on a branch not yet merged back to master
Message-ID: <1396981364.85181.YahooMailNeo@web121903.mail.ne1.yahoo.com>
URL: https://gitlist.dev/e/1396981364.85181.YahooMailNeo%40web121903.mail.ne1.yahoo.com
In-Reply-To: <1396956140.85747.YahooMailNeo@web121901.mail.ne1.yahoo.com>

```

I have a feature branch (A) containing changes awaiting code review. I now need to begin work on new feature (B) that is dependent on new files and changes made in branch (A).


Is there "proper" way to rebase just the changes made in branch (B) back onto master (M) branch resulting from the merge of branch (A)


My tree would look like this:

- x - x - x (master) 

       \ x - x (A) x - x (B)


But after merge of branch (A), I would like it to look like this:

- x - x - x ---- x (master)
       \        / \
        x - x (A)  x - x (B)


Perhaps this?

$ git checkout master
$ git pull origin master
$ git merge A
$ git rebase --onto master A B


Regards.

```

## Jeff King, 2014-04-08 19:53

Subject: Re: Changes based on a branch not yet merged back to master
Message-ID: <20140408195309.GA8461@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20140408195309.GA8461%40sigill.intra.peff.net
In-Reply-To: <1396981364.85181.YahooMailNeo@web121903.mail.ne1.yahoo.com>

```
On Tue, Apr 08, 2014 at 11:22:44AM -0700, K. Kwan wrote:

> My tree would look like this:
> 
> - x - x - x (master) 
> 
>        \ x - x (A) x - x (B)
> 
> 
> But after merge of branch (A), I would like it to look like this:
> 
> - x - x - x ---- x (master)
>        \        / \
>         x - x (A)  x - x (B)
> 
> 
> Perhaps this?
> 
> $ git checkout master
> $ git pull origin master
> $ git merge A
> $ git rebase --onto master A B

Yes, that should work. I think you could even just do:

  git rebase master B

since after the merge, all of A is contained in master (and so will be
omitted from the rebased commits).

-Peff

```
