我有一个开源网站。有些内容是“私有(private)”的,例如连接参数,以及开源版本不需要的文件(例如广告模板)。
本质上,我试图维护两个版本:
- 具有唯一身份的公共(public)网站(广告、Google Analytics 帐户、相关论坛的链接等)
- 用于社区开发的开源版本,没有不必要的依赖或品牌
目前我正在使用 .gitignore 文件来防止将“私有(private)”内容推送到开源存储库。连同包含在本地找到的模板的帮助程序,但为开源版本显示一个空框。
在我尝试在功能分支之间进行 checkout 之前,这工作得很好:分支可能需要设置文件中的新 key 。由于设置文件被 Git 忽略(以避免推送密码等),站点中断。
理想情况下,我想要版本控制设置文件,但能够告诉 Git 不要将这些文件推送到远程服务器 (Github)。这可能吗?
我应该使用分支来管理不同的网站版本吗?
最佳答案
你应该使用 git submodules 与:
- 所有公共(public)内容的一个模块,可以随意推/pull
- 一个私有(private)内容模块
- 一个 super 项目,也在一个私有(private)仓库中,它引用公共(public)和私有(private)子模块。
一个存储库中的分支不是答案,尤其是在处理敏感信息时。
关于git - 处理私有(private)和公共(public)存储库的技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388854/