title: git filter-branch only change affected commits
body: <p>A large binary file was added to my git repository 20 commits ago. Removing this with:</p>
  
  <pre><code>git filter-branch --index-filter "git rm --cached --ignore-unmatch FILE" \
      --prune-empty HEAD
  </code></pre>
  
  <p>changes the SHA1 for every commit (~1100) in my projects history. It does remove the file, but I was hoping to only have <code>git push -f</code> a small number of modified commits. Is there a way to tell <code>filter-branch</code> to only modify commits with <code>FILE</code> and descendant comments, in my case around 20 commits?</p>