title: Git merge and keep separate?
body: <p>Is there a way to update a side branch with information from another (master or other), and then have the two continue? Like a rebase, but keeping the old data there?</p>
  
  <p>Original:</p>
  
  <pre><code>A---B---C---G---H  master
       \           
        D---E---F  branchA
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>A---B---C---G---H---L  master
       \           \
        D---E---F---J---K  branchA
  </code></pre>
  
  <p>Such that <code>branchA</code> gets the information from commits C, G, and H, (Commit J is that merge) such that commit K is still a side branch (and future commit L is still on master), but has the updated information from master?</p>
  
  <p>I don't want to do a rebase, because that would end up with:</p>
  
  <pre><code>A---B---C---G---H---L  master
                   \
                    D'---E'---F'---K  branchA
  </code></pre>
  
  <p>Creating "new versions" of D, E, and F as if they happened on top of H instead of B, and <strong>the issue is that commits C and E is the renaming of a key folder in the repo, and I want to collapse them together</strong>, without merging the other feature updates from <code>branchA</code> just yet. Rebasing means H uses the new folder name, D' creates the old folder name, and E' removes it again, which isn't the most clean.</p>
  
  <p>The point is I want to get that folder rename (C and E) in the past and stop bringing it forward. Does that makes sense? Am I looking at this backward? Or should I just deal with the messy rebase "name, rename" trick until the branch gets merged?</p>