title: Swap a master and a feature branch
body: <p>We find ourselves in the situation where <strong>master</strong> has new feature work, and <strong>feature1</strong> (which branched off master) is the stable master. How can we change things so that they "trade places"? I.e., feature1 becomes master, and master becomes <strong>newfeaturebranch</strong>?</p>
  
  <p>I found a couple similar SO questions, but in those cases they no longer cared about the old master commits. Here, we want to preserve the current master as the new newfeaturebranch.</p>
  
  <p>I've thought of one way to do this:</p>
  
  <ol>
  <li>Create <strong>newfeaturebranch</strong> from the current master.</li>
  <li>Revert/delete commits from <strong>master</strong> back to <strong>feature1</strong>'s branching point.</li>
  <li>Merge <strong>feature1</strong> into <strong>master</strong>.</li>
  <li>Delete branch <strong>feature1</strong>.</li>
  </ol>