title: Node/JavaScript glob file/path matching syntax, wildcards, etc
body: <p>I just found <a href="http://gruntjs.com/configuring-tasks#globbing-patterns" rel="noreferrer">http://gruntjs.com/configuring-tasks#globbing-patterns</a>, which is the most helpful reference I've found.</p>
  
  <p>I keep seeing:</p>
  
  <blockquote>
    <p>For more on glob pattern syntax, see the node-glob and minimatch documentation.</p>
  </blockquote>
  
  <p>Yet, I can't seem to find an exhaustive list of the syntax/usage.  <a href="https://github.com/isaacs/minimatch/blob/master/test/basic.js" rel="noreferrer">These tests</a> might be the best reference, yet still not particularly easy to decipher.</p>
  
  <p>It seems I must be missing some critical source of documentation.</p>
  
  <p>I'm wondering the differences between:</p>
  
  <pre><code>path
  path/
  path/*
  path/*.*
  path/**
  path/**/
  path/**/*
  path/**/*.*
  </code></pre>
  
  <p>and any other important variations that are related that I might have omitted.  I'm guessing this applies differently when doing a <code>node-glob</code> style matching (<code>'public/**/*.*'</code>) and a <code>.gitignore</code> (<code>node_modules</code>), because in the former, you need to explicitly include everything, many layers deep, and in gitignore, this is handled automatically by ignoring any directory.  Is this correct?</p>