title: Git rebase subbranches to other subbranch
body: <p>This may or may have not been answered already, but since I don't know what the exact terminology is for what I want to do, it'll be hard to find it via searching.</p>
  
  <p>Here is my current git project layout:</p>
  
  <pre><code>master
    |
    |-branch-a
    |-branch-b
    |-branch-c
  </code></pre>
  
  <p><br/>I've realized that there are cases where changes that I make to all three subbranches are similar enough that they should be applied on top of <code>master</code>.  However, <code>master</code> is my "import branch", where I import updated code from external sources before I merge it into the subbranches.</p>
  
  <p>So I think the best way to do this is to create a subbranch off of <code>master</code>, say <code>fixes</code>, and then have my subbranches:</p>
  
  <pre><code>master
    |
    |-fixes
        |
        |-branch-a
        |-branch-b
        |-branch-c
  </code></pre>
  
  <p>Once I do that, I'll have to somehow deconflict the existing branches with any code fixed in the <code>fixes</code> branch.  But I think the hard part is rebasing my subbranches to the <code>fixes</code> branch without messing up my repo.</p>
  
  <p>Of note, each of the subbranches contains code that needs to remain independent of the others.  Basically development in parallel on different ideas.  One or more might get merged later on down the road back into <code>master</code>.  Assumingly, if I have no fixes that apply to all of the subbranches, then <code>fixes</code> is basically just a mirror of <code>master</code>.</p>
  
  <p>How can I go about doing this?</p>
  
  <p><br/><br/><strong>Edit:</strong> Because I can't draw ASCII in comments, this is in response to  <a href="https://stackoverflow.com/users/3236304/user3236304">user3236304</a>'s answer.</p>
  
  <p>I think I see what you're getting at.  I should instead orient my branches like this?:</p>
  
  <pre><code>master (core fixes go here)
    |
    |-upstream
    |
    |-branch-a
    |-branch-b
    |-branch-c
  </code></pre>
  
  <p>That way I can apply my own local core fixes onto <code>master</code> and use the <code>upstream</code> branch to track changes from upstream, merging them into my local branches as-needed?</p>