Unless full paths are used .gitignore, all matching files and folders will be ignored, however deep they are in the repo.
For example, ignoring log/* doesn't just ignore all log files, but also files such as lib/project/log/awesome_logger.rb. It's a mistake I've made a couple of times but never seemed to have learned from.