title: git status shows modifications, git checkout -- <file> doesn't remove them
body: <p>I would like to remove all changes to my working copy.<br />
  Running <code>git status</code> shows files modified.<br />
  Nothing I do seems to remove these modifications.<br />
  E.g.:<br /></p>
  
  <pre><code>rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git status
  # On branch master
  # Changed but not updated:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
  #       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
  #       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
  #       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
  #
  no changes added to commit (use "git add" and/or "git commit -a")
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git status
  # On branch master
  # Changed but not updated:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
  #       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
  #       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
  #       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
  #
  no changes added to commit (use "git add" and/or "git commit -a")
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git checkout `git ls-files -m`
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git status
  # On branch master
  # Changed but not updated:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
  #       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
  #       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
  #       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
  #
  no changes added to commit (use "git add" and/or "git commit -a")
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git reset --hard HEAD
  HEAD is now at 6c857e7 boo libraries updated to 2.0.9.2 and rhino.dsl.dll updated.
  
  rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
  $ git status
  # On branch master
  # Changed but not updated:
  #   (use "git add &lt;file&gt;..." to update what will be committed)
  #   (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  #
  #       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
  #       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
  #       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
  #       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
  #
  no changes added to commit (use "git add" and/or "git commit -a")
  </code></pre>