title: How can I delete all commits before a given date in Git history?
body: <p>Given a repository, I want to delete all commits that were before a particular commit, or a date in history.</p>
  
  <p>I have around 10000 commits in my repository, and I want to only keep the last 1000 or so, and delete the rest. Basically what I want to do is to say <em>move the first commit forward to X</em>.</p>
  
  <p>At first I thought I could just rebase and squash all of those commits into one, but that causes a lot of merge conflicts during the rebase. If there was a way to squash commits such that the version after the squash is the last commit, that'd work too.</p>