title: Checkout old commit and make it a new commit
body: <p>On Git, say I mess up my commits, and I want to make the version 3 commits ago as the new version. If I do <code>git checkout xxxx</code>, it creates a new branch and it seems like I can only merge it? Could I make this the new "master version"?</p>
  
  <p>I want:</p>
  
  <pre><code>A-B-C-D-E
  </code></pre>
  
  <p>to become</p>
  
  <pre><code>A-B-C-D-E-F
  </code></pre>
  
  <p>where F has exactly the same content as C</p>
  
  <p>If I use <code>git revert xxxx</code> instead, it seems like it definitely will have conflicts and I need to manually resolve it.</p>
  
  <p>What I really want is just make the old commit at some point the new commit, regardless of what's in my working directory or the latest commit.</p>
  
  <p>How would I go about doing this?</p>