Git/Sourcetree 管理同一个基地的多个项目

Git/Sourcetree Manage multiple project with the same base

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

只有 /application/modules 用作基础,因为其余部分(可能)包含站点特定内容。

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

我的网站结构基本是这样的:

我已经为所有 4 家公司(负责人和 3 家子公司)创建了一个回购协议 我如何将 Base 放在 Head 仓库中,将 styling/config 放在 Sub 仓库中,并在所有三个子仓库中管理 base,请参阅 TL;DR 的含义(假设拉和推正确完成)。

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

我从来没有在GIT中使用过任何复杂的东西所以很难正确配置它

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

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

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

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

然后您可以在任何项目的 modules 存储库中工作、提交和推送,然后只需进入该项目的 modules 子模块和 运行ning git pull(或使用项目基础存储库中的 git submodule foreach git pull)。