我即将开始一个基于 CodeIgniter 的项目,并计划使用 Git 作为我们的 DVCS。我将与其他一些开发人员一起工作,中央(原始)服务器是私人托管的。但是我也想把它开源,以后把代码发布到Github上。
我的问题是,有没有办法在 Git 中分离配置文件,以便配置文件中的私有信息不会发送到 Github 远程,而是发送到源和其他对等点。
另一个问题是我们是否可以使用类似的解决方案来拥有本地开发配置文件和用于生产的服务器?
我即将开始一个基于 CodeIgniter 的项目,并计划使用 Git 作为我们的 DVCS。我将与其他一些开发人员一起工作,中央(原始)服务器是私人托管的。但是我也想把它开源,以后把代码发布到Github上。
我的问题是,有没有办法在 Git 中分离配置文件,以便配置文件中的私有信息不会发送到 Github 远程,而是发送到源和其他对等点。
另一个问题是我们是否可以使用类似的解决方案来拥有本地开发配置文件和用于生产的服务器?
创建每个开发人员都将使用的文件config.php.sample
,database.php.sample
其中包含密码和其他敏感信息的占位符。添加config.php
和database.php
到您的.gitignore
首次部署到生产站点时,您将创建config.php
和database.php
文件。后续推送不会覆盖config.php
,database.php
因为它们不包含在 git 存储库中。
Codeigniter 对环境(开发、生产等)有一些支持。参考官方文档,CodeIgniter Environments。
关于配置文件,您可以使用.gitignore
http://progit.org/book/ch2-2.html
编辑:由于您github
在问题中使用了标签;Github 现在有一个添加.gitignore
文件的选项(他们也有一个 codeigniter 模板)
在将应用程序部署到目标系统时,您应该使用部署工具来设置配置文件。
capistrano
withrailsless-deploy
是个不错的选择