我写了一些Symfony2捆绑包,一切都还好,但。。。我不喜欢我这样做。首先,创建一个新的symfony项目,然后生成bundleCompany/Mybundle(所有这些都在git版本控制下)。但是,当我完成了它们(一些捆绑包)后,我创建了新的github存储库-Company/MyBundle,并将它们上传到packagist.org。另一个"最棒"的想法是创建两个不同的git存储库——一个用于symfony2项目,另一个用于bundle,当在bundle git中写东西时——必须在symfony2中进行composer更新,但我不能在本地测试,这是一个问题。
这里的常见问题是,如何获得捆绑包的新副本。或者,如何拥有一个(主存储库,Symfony项目)和一个子git(捆绑存储库)。
你是怎么做到的?那么,这方面的"最佳实践"是什么?
编辑:现在,我的symfony捆绑包看起来像这个
app
src
`- vendor
`- bundle1 - **git repository1**
`- bundle2 - **git repository2**
web
一切都很好,但我希望整个项目都有一个git存储库,也许这很奇怪(我现在无法想象),但我也希望对配置、参数等进行版本控制。
您的问题更多地与GIT有关,而不是与Symfony有关。
我建议您签出GIT子模块:http://www.git-scm.com/book/en/v2/Git-Tools-Submodules
如果您在另一个项目中需要它,请将您的捆绑包留在src/
中,并通过composer将其包括在内。如果您是–prefer-source
,那么您的供应商中将有完整的git代表,并且如果您进行更改,则可以简单地提交/推送。
如果你在github上使用了钩子,packagist会自动更新,所以下次你进行composer更新时,它会为你更新到最新版本。
下一步是使用git标记,这样当您对当前项目进行重大更改时,就不会破坏旧版本的捆绑包。