Git / Sourcetree使用相同的基础管理多个项目

时间:2016-07-28 12:34:35

标签: git github multisite sourcetree

我有一个三个站点的项目具有相同的基础。 这些站点在Zend Framework中构建,因此结构如下:

enter image description here

仅使用/ application / modules作为基础,其余(可能)包含特定于站点的内容。

我想设置Git / Sourcetree,我可以立即维护所有项目,我的建议是使用Subtree,但我不知道如何正确配置。

我的网站结构基本就是:

  • 总公司:
    • 子公司1
    • 子公司2
    • 子公司3

我为所有4家公司(头部和3个子公司)创建了一个回购 如何将Base置于Head repo和Sub repo中的样式/配置中并管理所有三个子仓库中的基础,请参阅TL; DR表示意义(假设拉动和推动完成正确)。

TL; DR 我想要实现的是我可以打开单个站点的回购,编辑基础,每当我打开第二个回购(完成拉动和推动)时,我在该回购中获得相同的基础并从那里继续。

我从来没有在GIT中使用任何复杂的东西,因此很难正确配置

1 个答案:

答案 0 :(得分:1)

modules设为Git submodule,以便可以在多个项目中使用。

每个公司项目都有自己的存储库,但是在每个存储库中,在基础上放置一个.gitmodules文件,如下所示:

[submodule "application/modules"]
    path = application/modules
    url = //path/to/modules/repository

初始化每个存储库运行modules中的git submodule update --init子模块。

然后,您可以在任何项目的modules存储库中工作,提交和推送,然后只需进入该项目的modules子模块并运行{{},然后将这些更改提取到任何其他项目中。 1}}(或使用项目基础库中的git pull)。