title: Exclamation mark in .gitignore doesn't work
body: <p>I have this file structure</p>
  <pre><code>aaafolder
  └─ bbbfolder
     ├─ filename0.txt
     ├─ dddfolder
     │  ├─ filename1.txt
     │  └─ filename2.txt
     ├─ cccfolder
     └─ filename.txt
  </code></pre>
  <p>I want all the contents of the <code>aaafolder</code> folder to be hidden, but all files in the <code>dddfolder</code> folder must be present.</p>
  <p>So in the repository, I want to get in Git this:</p>
  <pre><code>aaafolder
  └─ bbbfolder
     └─ dddfolder
        ├─ filename1.txt
        └─ filename2.txt
  </code></pre>
  <p>My <code>.gitignore</code> looks like this:</p>
  <pre><code>/source/aaafolder/**
  !/source/aaafolder/bbbfolder/dddfolder/*
  </code></pre>
  <p>However, the entire <code>aaafolder</code> folder is ignored</p>