title: How to Git reset a file without unstaging?
body: <p>Example:</p>
  <pre><code>/* Initialise repo */
  git init
  
  /* Commit Version 1 */
  echo 1 &gt; file
  git add file
  git commit -m '1'
  
  /* Stage Version 2 */
  echo 2 &gt; file
  git add file
  
  /* Modify working tree Version 3 */
  echo 3 &gt; file
  </code></pre>
  <p>There are now 3 versions of the file.</p>
  <p>How do I reset Version 1 to the working tree without unstaging Version 2 ?</p>
  <p>I am using Git v2.18.0.windows.1 (which does not have the <code>restore</code> command).</p>
  <p>The best I can do is:</p>
  <pre><code>git show HEAD:file &gt; file
  </code></pre>
  <p>but this does not restore the exact file (due to added CR/CRLF line endings).</p>