title: Why did --cached option on filter-branch remove files from working directory?
body: <p>I needed to remove some Xcode files from an old repo that should have been ignored. So I ran the following command</p>
  
  <pre><code>git filter-branch --index-filter 'git rm -f --cached --ignore-unmatch *mode1v3 *pbxuser' HEAD
  </code></pre>
  
  <p>My understanding was that adding --cached would not affect the current working directory, but git deleted those matching files too. Luckily I had a backup(!) but I'm curious why it does this, or am I misunderstanding what <code>--cached</code> does?</p>