title: How does one change a range of commits to have happened on another branch?
body: <p>My assumption is that the solution is simple, but I cannot find any examples that clearly address my problem. I seek guidance on the following:</p>
  
  <p>I currently have a history like:</p>
  
  <pre><code>A - - - C - - - - - F            Master
    \       \           \
      B - - - D - E - - - G - H    Topic
  </code></pre>
  
  <p><code>D</code>, <code>E</code>, <code>G</code>, and <code>H</code> should have all happened on <code>Master</code>. The only differences at this point should be commit <code>B</code>. So it should look like:</p>
  
  <pre><code>A - - - C - D - E - F - G - H    Master
    \
      B                            Topic
  </code></pre>
  
  <p>Or even better yet:</p>
  
  <pre><code>A - C - D - E - F - G - H        Master
                            \
                              B    Topic
  </code></pre>
  
  <p>... but I have no idea how to accomplish that either.</p>
  
  <p>It doesn't seem that I can merge <code>D</code>, <code>E</code>, <code>G</code>, and <code>H</code> all at once. I keep ending up with <code>B</code> in <code>Master</code>.</p>
  
  <p>I believe I could cherry-pick them, but that seems to present future problems. What is the best solution?</p>