用于将白标签实例部署到不同子域的Git策略。

时间:2012-11-12 08:24:54

标签: git git-branch git-submodules

我有一种情况,哪种git策略适合使用?

情况:

我们有一个具有git存储库的应用程序。我们遵循分支策略,

  1. 分支机构:开发:所有开发人员都用它来实现这些功能

  2. 分支:测试:开发代码直到当前部署以测试应用程序。

  3. 分支机构:生产:经过测试团队的批准,我们将测试分支合并到生产和销售部门。将其部署到生产环境。

  4. 问题:

    1. 现在我们有三种不同的生产安装(site1.mainDomain.com,site2.mainDomain.com,site3.mainDomain.com), 这3个安装目前有不同的标题(标识,标题颜色)。

    2. site1.mainDomain.com可能有一些可以在将来开发的功能。只能用于site1.mainDomain.com。

    3. 未来的某些功能可能适用于site1.mainDomain.com,site2.mainDomain.com但不适用于site3.mainDomain.com。

    4. 现在,如果在site1.mainDomain.com&生产中出现任何问题。这是基地分支的主要问题,我们将如何管理这件事。

    5. 那么为了实现这个git策略有用吗? 我正在阅读关于子模块,git子树,git补丁......但有点困惑做出决定。请提供最佳解决方案和策略。

      提前致谢。 维杰

2 个答案:

答案 0 :(得分:8)

我认为您正在寻找解决此问题的错误位置(版本控制系统)。在这种情况下,我通常会为不同的上下文创建不同的设置文件,将所有这些文件保存在同一个git分支中,并且每个部署只需要一个小的本地配置文件(主要选择正确的上下文)。然后,您的代码可以根据上下文检查要显示的内容类型。

我强烈建议不要为每个网站制作不同的功能分支,因为这样可以让你陷入凌乱的混乱局面,并且不断解决合并冲突。

答案 1 :(得分:4)

我强烈建议不要使用git来解决问题。我可以从经验告诉它,因为我正在进行的项目陷入了需要维护两个git分支的陷阱,没有充分的理由。 Github防火墙安装(Github:FI,Github Enterprise的前身)也遇到了同样的问题。

我建议您查看功能标记(功能切换)模式以解决您的问题 - http://martinfowler.com/bliki/FeatureToggle.html