What is the difference between git rm --cached and git reset <file>?
<p>According to the <a href="https://git-scm.com/docs/git-rm/" rel="noreferrer" title="git rm documentation">git rm documentation</a>, </p>

<pre><code>--cached
Use this option to unstage and remove paths only from the index.    
Working tree files, whether modified or not, will be left alone.
</code></pre>

<p>But according to <a href="https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things/" rel="noreferrer" title="undoing things">this resource</a> unstaging a file is done with</p>

<pre><code>git reset HEAD &lt;file&gt;
</code></pre>

<p>What is the difference? Is there one?</p>