title: Discard commits to master that have been pushed upstream
body: <p>On a new project, with a team new to git, we started out committing directly on <strong>master</strong>. We accidentally made a few <strong>bad commits</strong> on master that were pushed to a <strong>central repo</strong> and pulled down by the whole team.</p>
  
  <p>Realising our mistake, we then created a <strong>feature branch</strong> off the commit before the <strong>bad commits</strong>. Our team is now happily working on the feature branch.</p>
  
  <p>We now want our <strong>master</strong> branch to contain the exact code from the <strong>feature branch</strong>,  without re-introducing the <strong>bad commits</strong>.</p>
  
  <p>I see the <code>merge theirs</code> option has been removed from the later versions of git. So what is the best way to <strong>discard the bad commits</strong> and make our master look exactly like our <strong>feature branch</strong>?</p>
  
  <ul>
  <li>Merge?</li>
  <li>Reset?</li>
  <li>Rebase?</li>
  </ul>