在 Rails 项目中忽略 .gitignore config/database.yml

Posted

技术标签:

【中文标题】在 Rails 项目中忽略 .gitignore config/database.yml【英文标题】:Ignoring .gitignore config/database.yml in a rails project 【发布时间】:2012-01-19 15:43:21 【问题描述】:

在从事 Rails 项目时(顺便说一句,我目前仍处于学习的“初学者”阶段)文件 config/database.yml 似乎是数据库密码等内容的所在。但是,似乎没有人建议将它放在 .gitignore 文件中 - 为什么?

我当然需要排除这个,否则如果我推送到 github,我的敏感数据库配置细节最终会成为公众知识。

【问题讨论】:

【参考方案1】:

database.yml 是配置数据库凭据的合适位置。通常你会提交database.yml,而只配置你的开发和测试环境。

我的本​​地 Postgres 和 mysql 实例没有密码,因此我可以安全地提交 database.yml。如果您想忽略它,只需将database.yml 行添加到.gitignore 文件的末尾即可。在忽略它之前,您需要确保它已被清理并提交。然后您就可以安全地进行更改了。

一旦您部署到生产环境,您将使用敏感凭据从已存储在该服务器上的副本中对其进行符号链接。

【讨论】:

【参考方案2】:

你不应该在你的 database.yml 中有密码....我没有。为什么你有密码?如果您部署到 heroku,请阅读: http://devcenter.heroku.com/articles/config-vars

如果你仍然想忽略它添加:

echo "database.yml" >> .gitignore

【讨论】:

嗨,对于新手很抱歉-我正在阅读的书表明这是他们应该去的地方。如果不在那里,那么在哪里? 好吧,我的 database.yml 中没有任何密码,我告诉过你,我在部署中使用了 env 变量。如果您在 database.yml 中有密码,则将其添加到 .gitignore。

以上是关于在 Rails 项目中忽略 .gitignore config/database.yml的主要内容,如果未能解决你的问题,请参考以下文章

Git 忽略提交 .gitignore

Git 忽略提交 .gitignore

Git 忽略提交 .gitignore

gitignore忽略提交全局配置

Git中.gitignore忽略文件(maven项目)

ios 忽略文件 .gitignore