Separating CodeIgniter config file Git for publish

2019-03-29 18:27发布

问题:

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?

回答1:

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.



回答2:

Codeigniter has some support for environments (Development, Production, etc). Refer to official documentation , CodeIgniter Environments.

Regarding config files, you can use .gitignore

http://progit.org/book/ch2-2.html

Edit: Since you have used github tag in the question; Github now has an option to add .gitignore file (they have a codeigniter template too )



回答3:

You should use a deployment tool to set the config file when deploying your application to the destination system.

capistrano with railsless-deploy is a good option