我目前正在寻找将MVC / RavenDB作为开源存储库发布,主要是为了让人们环顾四周,而不是作为一个完整的项目。
但是,我不希望某些生产设置(如SMTP服务器详细信息和连接字符串)公开(但仍受源代码管理)。
我正在寻找有关如何构建公共和私有存储库的建议,以便我可以轻松地处理项目并合理地轻松自由部署。
干杯
答案 0 :(得分:2)
在类似于你的情况下,我需要公开发布部件并隐藏导入数据,我通常只是简单地保留一个分支用于生产。
在您的情况下,您可以将dev分支发布到您发布所有开源的地方,克隆它并从其他人那里获得一些贡献。然后在不同的地方有一个生产分支。 (heroku上..)
答案 1 :(得分:1)
您通常不会将这些文件置于版本控制之下。比如,在公司内部,您可以将模板置于版本控制之下,并要求开发人员将其复制到位并根据需要进行更新。就像带有
的config.ini.template
文件一样
[smtp]
host = smtp.company.com
user = USERNAME # update this
pass = PASSWORD # and this
显然,开发人员在将凭据重命名为config.ini
时需要更新凭据。然后应从版本控制中排除config.ini
文件。
对于开源项目,我可能不会将任何模板置于版本控制之下。我仍然会对其进行配置,以便从版本控制中排除config.ini
文件,这样我就可以在我的工作副本中拥有自己的config.ini
文件而不会意外地提交它。
我发现上述系统比将实际配置文件置于版本控制下要容易得多。即使我可以将它放在某种类型的私有分支中,那么它将要求我不断地与该分支合并,并且我必须小心不要意外地将配置文件推送到另一个存储库。