Files in gitignore

拟墨画扇 提交于 2019-12-10 23:19:19

问题


I have a repository with a rails app in the production Server.

In the repo there is the .gitignore file:

...
    config/database.yaml 
...

Every developing client have a cloned repo with different config/database.yaml.

My problem is this:

database.yaml is in .gitignore, then when I run git clone (on the server) the database.yaml will not be created, but I need it.

I thought than I am doing wrong something. Can you see where is my mistake ?

thank you, Alessandro


回答1:


In my projects, I usually make a copy of a usable database config in a database.example.yml, then when someone clones the projects, copy the database.example.yml to database.yml and make the needed changes.




回答2:


(here is a copy of my original answer to your first question)

You don't version the right file.

You should version:

  • a database.yaml.template
  • 2 files (one for server values, and one for generic client values)
  • 1 script able to build database.yaml on the checkout

That script would be called by the smudge step of a filter driver.

The resulting database.yaml would be "private" (never versioned/pushed or pulled), and can be modified at will.




回答3:


keep a template like database.example.yml as robertokl suggests

when you deploy your application to production server you should be using something like capistrano and part of your capistrano recipe(script) will be to rename that file or to place the correct database.yml file in the config dir




回答4:


All these database.yaml files have something in common: you can commit a base configuration, and let all your developing clients maintain a fork of it in their own branches with appropriate settings filled in; they can rebase on top of the base configuration in the master branch whenever it gets updated.




回答5:


aleds - it's generally a bad idea to have your database.yml in a repository which is why you see it in .gitignore. robertokl is right about providing a template file.



来源:https://stackoverflow.com/questions/3142418/files-in-gitignore

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!