I have a folder like this:

```
/<root>
|.git/
|3rd party/
|         |a.txt
|.gitignore
|a.txt

```

.gitignore content:

```
*.txt
*.exe
*.dll
*.lib
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/

!3rd party/

```

I want to ignore some kind of file like `exe, dll, lib, txt` in root folder, all subfolder **except** `3rd party/` folder. But the git still ignore file `3rd party/a.txt`.  

What is the problem here?  

P/s: I also want `Debug`, `Release` folder in `3rd party` directory (if have) not to be ignore. That is, every rule in this .gitignore file will not be apply on `3rd party` folder