Keeping a public and private version of my app using Git
I am building a Rails app that I manage with Git. All is perfect, but I'd like keep a public version as well as a private one. That is:
- the public version is for a public repository (for people to use),
- and the private version is for my own site.
The idea is that both versions should be up-to-date, with the difference that my private version's files contain passwords for my site, and the public ve开发者_StackOverflowrsion doesn't (or contains some default values as such).
I've been thinking of branches: master
(the public version) and some private one.
Please, bear in mind, that I am a asking for I am still quite a noob at git.
Thanks folks!
I do Django development and keep all my sensitive data inside a single file which I put inside my .gitignore
. It's not version controlled and I keep separate versions of this on my deployment server and local dev machine.
I would:
- store the password in a private repo which contains only sensitive data
- store in the public repo:
- a reference to the private repo as a submodule (only you could checkout that submodule, since it is a private repo)
- some template config
- some script able to build the actual config file with the right value:
- default value if there is no submodule
- passwords if the submodule is checked-out.
That way, no merge whatsoever, and no way to push sensitive data to a public repo.
精彩评论