.gitignore для того и нужен, что бы в репозиторий не попали лишние файлы. И конечно он будет и должен находится в самом репозитории. Если это файл настроек который может отличаться у разных разработчиков, работающих над проектом. То в репозиторий лучше положить болванку (как должен выглядеть файл настроек) например main.conf.sample, на основе которого разработчик создает себе нужный main.conf который в свою очередь как раз добавлен в .gitignore. Иначе другой разработчик при отсутствии у него такого же gitignore файла, просто закоммитит свой конфиг в репозиторий и вы его себе потом подтяните и перезатрете свой конфиг.