Gitignore for meta files,pdb and mdb in Unity

I was looking at the gitignore from the Tyrell-Circuit Stream ShaderWorkshop and I noticed some lines I’m not quit sure why there are included

  1.     Asset meta data should only be ignored when the corresponding asset is also ignored

I don’t see the purpose of this line here because the “!” symbol essentially say don’t ignore it. So if I don’t have this line, the meta files are still being tracked in git. I did a test and whether I included this line or not, the meta files still shows us as untracked or needs to be staged (unless I specifically exclude that meta file such as *.pidb.meta)

  1. Why are .pdb files being ignored? I know that .pdb files are very useful for debugging especially if there dlls are provided because we can read where the errors are coming from in the console. So shouldn’t we be pushing those?

  2. Why are .mdb files being ignored? From what I googled, I believe .mdb are “old” stuff and we shouldn’t have to worry about it anymore?