如何使用git管理这个项目结构?

时间:2014-01-21 23:54:49

标签: git version-control

我正在为一个网络软件开发插件,其结构设置如下:

root
--index.php
--js/
----addon1/
------file.js
----addon2/
--css/
----addon1/
------style.css
----addon2/
--library/
----addon1/
------file.php
----addon2/
------file.php

我想为每个插件创建一个存储库,但是使用当前的结构似乎不可能。例如,addon1代码的主要部分位于/ library / addon1 /,该插件的公共资产位于/ js / addon1 /。但是,如果我在/ library / addon1 /上设置addon1的存储库,则无法跟踪js和css文件夹中的文件。将存储库放置一级将意味着我无法跟踪每个单独的插件。不幸的是,我无法灵活地移动文件夹。

我已经查看了子模块,但我不确定这是我需要的。没有“主要”或核心存储库,因为我不需要跟踪主要软件,只需要跟踪我创建的个人插件。

有没有办法设置它?

忘记注意我不需要任何太复杂的东西,因为我只在本地使用这些存储库而不需要与任何人共享它们。

1 个答案:

答案 0 :(得分:0)

一个简单的架构是将每个插件的开发放在一个分支中。

然后可以从其他插件中自主开发每个插件。由于依赖关系需要来自不同插件的最新代码,因此很容易使用git merge(如果需要,可以使用cherry-pick)将这些功能引入正确的分支。

然后,当您准备好发布“稳定”版本时,每个插件分支的“稳定”提交可以合并到release / trunk / master / stable(您可以选择名称)分支。这样,每个插件都可以处于不同的开发阶段,但代码发布仍然可以在不停止任何插件开发的情况下进行组装。

所有都在同一个存储库中!