I just had a slightly more tricky problem and ended up here, so if this is the case for you as well, here goes:
If you ignore a concrete directory (e.g. /Emply/ in this case) but want to include some of its sub-directories or included files, this will not work:
/Emply/
!/Emply/app # Does not work!
The reason is that git will not list ignored directories for performance reasons (source). Instead, use the wildcard to ignore all sibling directories and files:
/Emply/*
!/Emply/app # Works!
It's a bit obscure and just drove me mad.