作曲家:一个回购中的多个包

时间:2014-03-23 13:28:27

标签: git composer-php

我有一个GIT-Repo里面有我所有的模块。我想使用Composer将它们包含在我的不同项目中。有没有办法将它们全部放在一个git仓库中,还是我需要为每个模块创建一个自己的GIT-Repo?

3 个答案:

答案 0 :(得分:4)

这是一个关于如何方便地处理单个模块的问题。

如果您能够引入从共享存储库中获取单个模块的发布过程,请从中创建一个ZIP文件,将该ZIP与其中所需的composer.json元数据放在一起,托管该ZIP文件HTTP(S),然后使Packagist(或您想要使用的本地Satis存储库)知道该版本...然后您可以使用一个单独的存储库。

在所有其他情况下,每个Composer包都有一个存储库。

请注意,您当然可以将“maxinet / random-collection-of-modules”作为唯一的包。稍后,如果您足够关心,可以将该模块包的一部分移到一个存储库中,然后将其重新包含在包含作曲家的包中。

此处描述了拆分Git存储库的过程:Detach (move) subdirectory into separate Git repository

答案 1 :(得分:1)

我已经看到了你的问题并没有找到答案。 所以,我对此有点了解并实现了一个简单的包。 我已经定制了令人满意的使用方法。 https://github.com/andkirby/satis。 所以,创建你的satisf.json并运行:

$ composer require andkirby/satis --dev
$ vendor/bin/satis build satis.json .

请通过链接https://github.com/andkirby/multi-repo-composer了解相关要求。

我希望它可以帮到你!

答案 2 :(得分:0)

您可以使用同一存储库的不同分支。

然后,要求他们在作曲家中

composer require vendor/repository-name:dev-branch-A

如果分支名称未标记为版本,则在分支名称branch-A前面加上dev-