The main thing to remember is to exclude files generated by code, like logs, cache files, and database backups. Other items to consider are those which should only exist in development, which you should track in a separate repository, like tests and installation scripts. If you use Composer, you probably want to exclude the vendor directory, and possibly composer.lock (depending on how you're using Composer).
Excluding the development config files (application/config/development/*) from source control is a good idea when working with other developers, but the config directory itself should be in source control so everyone is starting from the same baseline.
If there's some concern about the production configs being in source control, or the developers being able to change config files that may cause problems with the production environment, then exclude the specific files and put the production files under separate version control. Most of the time, there probably won't be that much to worry about other than the database config.
You may want to consider excluding a few other files that show up when using other tools or multiple operating systems, like these (the format may be slightly different, since I primarily use Hg):
Code:
*.DS_Store
*Thumbs.db
*.bak
.hg/*
*.sublime-project
*.sublime-workspace