title: How to trash all local git changes and revert to old commit?
body: <p>So here's the scenario, I've got a project that has a number of commits, and recently I installed a load of new packages to my project and initiated them.</p>
  
  <p>I went and committed these changes (haven't pushed) but then realised I had forgot to test a core component.  Testing failed miserably, and I have now made such a mess of my code, my project fails to build and I cannot resolve it.</p>
  
  <p>I can select a previous commit and check it out, which reverts any changed files, however any files added by the new packages still exist.</p>
  
  <p>Is there anyway to clear the lot out, and have my working copy identical to one of my commits?</p>