Php Git工作流、子模块、回购和x27;树和树枝。。哦,天哪

Php Git工作流、子模块、回购和x27;树和树枝。。哦,天哪,php,codeigniter,github,Php,Codeigniter,Github,我有一个基于CodeIgniter的项目 我有环境配置文件夹,例如: /* this does not get pushed to github, it stays on my development workstation */ /application/config/development /* this is created from example_changeme, when a new client is created. */ /application/config/product

我有一个基于CodeIgniter的项目

我有环境配置文件夹,例如:

/* this does not get pushed to github, it stays on my development workstation */
/application/config/development
/* this is created from example_changeme, when a new client is created. */
/application/config/production
/* this one is used when creating a new client it houses the "template" of production configs */
/application/config/example_changeme
我有一个github的核心repo,其中包括除以下文件夹以外的所有内容:

/application/config/production
/application/config/development
/application/views
/index.php
我有一个客户回购协议,每个客户都有分支机构。这些分支具有以下文件夹:

/* this is created from example_changeme */
/application/config/production

/application/views
/index.php
在我的开发工作站上,我的文件夹结构如下:

/core/
/client/
  ggg/
  sgaz/
我需要能够对core_回购协议进行更改,并能够将这些更改拉至特定分支机构(或客户回购协议内的所有分支机构)。一个例子是:

我在下面对控制器进行代码更改:
/application/controllers

当前:我必须将核心报告复制/粘贴或重新克隆到每个新站点,并重新创建对视图所做的任何更改

理想情况下:我只想使用一种形式的“更新”从core\u repo获取更改但是,要保持应用程序/视图以及config/production和index.php的灵活性


我怎样才能着手做这样的事呢?

这并不容易,但我会试试看

如果我理解正确,您可以跨多个站点/项目使用应用程序的核心版本。您希望能够在不丢失任何特定于项目的文件和文件夹(如配置文件)的情况下,将更新推送到核心版本的那些站点

虽然您想要的是更复杂一点,但是他们在本教程中建议如何进行这种设置是一种很好的方法。

像现在一样,忽略每个项目中不同的文件。等等

至于推送到所有客户机位置,您可以按照此答案中的建议执行此操作:


我不确定这是否涵盖了它,如果没有,我很高兴再次访问:)。

这并不容易,但我会尝试一下

如果我理解正确,您可以跨多个站点/项目使用应用程序的核心版本。您希望能够在不丢失任何特定于项目的文件和文件夹(如配置文件)的情况下,将更新推送到核心版本的那些站点

虽然您想要的是更复杂一点,但是他们在本教程中建议如何进行这种设置是一种很好的方法。

像现在一样,忽略每个项目中不同的文件。等等

至于推送到所有客户机位置,您可以按照此答案中的建议执行此操作:


我不确定这是否涵盖了它,如果不包括,我很高兴再次访问:)。

我遇到了一个类似的问题,尽管稍微不太复杂。我理解正确,您有3个位置,我们可以在3个不同的“变体”中找到您的项目,每个都有自己的配置文件夹?每个
/application/client1
文件夹都有自己的封装应用程序文件夹。尽管控制器/模型/库/助手目前在它们之间都是相同的,但它们可能会有所不同。CI支持如上所示的多个应用程序,但仅通过在docroot中为每个应用程序提供一个自定义index.php文件。。IE:ggg.php、index.php、sgaz.phpI我有一个类似的问题,尽管稍微不那么复杂。我理解正确,您有3个位置,我们可以在3个不同的“变体”中找到您的项目,每个都有自己的配置文件夹?每个
/application/client1
文件夹都有自己的封装应用程序文件夹。尽管控制器/模型/库/助手目前在它们之间都是相同的,但它们可能会有所不同。CI支持如上所示的多个应用程序,但仅通过在docroot中为每个应用程序提供一个自定义index.php文件。。IE:ggg.php、index.php、sgaz.php