Separating CodeIgniter config file Git for publishing publically

codeigniter, configuration, git, github, php

Solution

Create the files `config.php.sample` and `database.php.sample` that each of your developers will use that has a placeholder for the passwords and other sensitive information. Add `config.php` and `database.php` to your `.gitignore`

The first time you deploy to the production site, you'll create the `config.php` and `database.php` files. Subsequent pushes won't overwrite `config.php` and `database.php` since they're not included in the git repository.

Problem

I am about to start a CodeIgniter based project and plan on using Git as our DVCS. I will be working with a few other developers, and the central (origin) server is privately hosted. But I also want to open source it and publish the code to Github later. My question is, is there a way to separate the config file(s) in Git, so that the private information in the config file is not sent to the Github remote but is to origin and other peers. Another question is could we use a similar solution for having local development config files and a server one for production?

Original source