title: How to reduce the size of .git/objects?
body: <p>My .git directory is overly large and displeasing me. I have, in the past, added and committed some directories that were full of large binary files. I've subsequently removed them from the latest master, but they are still stored in the history. I will never need them. My primary intent is to reduce the size of the .git directory, with as few side effects as possible.</p>
  <ol>
  <li><p>Can I purge particular directories from the entire repo history, of course potentially causing possible dependency earthquakes (not in this case as these files have no dependents but for future reference)</p>
  </li>
  <li><p>Can I completely remove <strong>all</strong> history prior to a particular commit. I have no reason to keep the entire history of this project from day one, and if I did, I could just put it in a fork that I never sync with the main repo</p>
  </li>
  <li><p>A subset of 2, can I purge the entire repo except for the most recent commit?</p>
  </li>
  </ol>
  <p>What happens if another developer fetch/merges a repo which has been butchered in the above ways?</p>
  <p>I know of manual ways to do all of the above but I am lazy and want an easy, git way to do the above with as few commands as possible.</p>
  <p>Thanks</p>