title: Why do we use double dash in "git checkout -- ."?
body: <p>I thought the line</p>
  
  <pre><code>git checkout .
  </code></pre>
  
  <p>can revert all changes in the current directory and subdirectory for the local working copy.  But I also see this popular form:</p>
  
  <pre><code>git checkout -- .
  </code></pre>
  
  <p>so if <code>--</code> <a href="https://unix.stackexchange.com/questions/11376/what-does-double-dash-mean">(the double dash or also called "bare double dash") is to signal the end of command options</a>, then why is it needed in the above case? The <code>.</code> can never be an option so there shouldn't be any confusion.</p>