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