Keeping a public and private version of my app using Git

谁说我不能喝 提交于 2019-12-10 09:23:43

问题


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 version doesn't (or contains some default values as such).

I've been thinking of branches: master (the public version) and some private one.
But it seems that I'd have to do a lot of merging after each commit.

Please, bear in mind, that I am a asking for I am still quite a noob at git.

Thanks folks!


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/4004259/keeping-a-public-and-private-version-of-my-app-using-git

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