我有一种情况,哪种git策略适合使用?
情况:
我们有一个具有git存储库的应用程序。我们遵循分支策略,
分支机构:开发:所有开发人员都用它来实现这些功能
分支:测试:开发代码直到当前部署以测试应用程序。
分支机构:生产:经过测试团队的批准,我们将测试分支合并到生产和销售部门。将其部署到生产环境。
问题:
现在我们有三种不同的生产安装(site1.mainDomain.com,site2.mainDomain.com,site3.mainDomain.com), 这3个安装目前有不同的标题(标识,标题颜色)。
site1.mainDomain.com可能有一些可以在将来开发的功能。只能用于site1.mainDomain.com。
未来的某些功能可能适用于site1.mainDomain.com,site2.mainDomain.com但不适用于site3.mainDomain.com。
现在,如果在site1.mainDomain.com&生产中出现任何问题。这是基地分支的主要问题,我们将如何管理这件事。
那么为了实现这个git策略有用吗? 我正在阅读关于子模块,git子树,git补丁......但有点困惑做出决定。请提供最佳解决方案和策略。
提前致谢。 维杰
答案 0 :(得分:8)
我认为您正在寻找解决此问题的错误位置(版本控制系统)。在这种情况下,我通常会为不同的上下文创建不同的设置文件,将所有这些文件保存在同一个git分支中,并且每个部署只需要一个小的本地配置文件(主要选择正确的上下文)。然后,您的代码可以根据上下文检查要显示的内容类型。
我强烈建议不要为每个网站制作不同的功能分支,因为这样可以让你陷入凌乱的混乱局面,并且不断解决合并冲突。
答案 1 :(得分:4)
我强烈建议不要使用git来解决问题。我可以从经验告诉它,因为我正在进行的项目陷入了需要维护两个git分支的陷阱,没有充分的理由。 Github防火墙安装(Github:FI,Github Enterprise的前身)也遇到了同样的问题。
我建议您查看功能标记(功能切换)模式以解决您的问题 - http://martinfowler.com/bliki/FeatureToggle.html