Applications of this nature should have a configuration file that stands alone outside the repository. Instead of committing the file itself, create a "sample" version of the file which gets committed to the repository, which contains all the necessary settings but just has dummy data. Then in your app, dynamically load the "real" config file.
When another dev checks out the code, they will have to do some simple, initial setup. One of those items includes making a copy of the sample config file and renaming it to the proper, correct config file name, then updating it with their own private settings for keys, passwords, etc.