为什么我的Rails应用程序默认包含在.gitignore文件中的config/database.yml?

Per*_*ich 3 git version-control ruby-on-rails ruby-on-rails-3

为什么config/database.yml默认包含在.gitignore文件中?这个小项目花了我一两个小时.

我偶然发现了这个麻烦:

  • 我以为我对git如何处理重置和恢复感到困惑.
  • 我一直在试验影响config/database.yml的代码更改
  • 我不喜欢结果,所以我放弃了改变.
  • 这很奇怪,因为我似乎无法签出未经编辑的config/database.yml版本
  • 然后我花了太多时间试图弄清楚我是否误解了git的重置和合并命令.
  • 原来,config/database.yml默认包含在.gitignore文件中.

不知道为什么.花费我一小时左右的时间摆弄重置和合并选项,当事实证明我甚至没有跟踪文件.在我写这篇文章的时候,我意识到我并不完全确定.gitignore被编写/修改为包含config/database.yml

它有什么理由应该存在吗?

qqx*_*qqx 5

该文件通常不会包含很多有趣的内容,以便在版本控制系统中进行跟踪.

但是,它经常包含用于连接到数据库服务器,它不应该被公开的密码.

它还经常包含不同工作副本,数据库服务器的不同用户或数据库名称,SQLite文件的不同路径之间需要不同的信息.这些差异将导致无法在版本控制系统中跟踪此文件.