我使用 composer 在 Symfony2 中安装 FOSUserBundle,我无法将捆绑包添加到我的项目 git 存储库中。
我在FOSUserBundle中发现有一个.git目录,并且有自己的配置。
当我使用 git add -A 时,总是得到"提交或丢弃子模块中未跟踪或修改的内容"。
您能帮忙展示如何将此捆绑包添加到我的存储库吗?
提前谢谢。
你可以做这样的事情:
$ git add vendor/path/to/Bundle/*
您还可以在 src/FOS/UserBundle/
目录中创建用户包的 git 子模块。
git submodule add <git@github ...> src/FOS/UserBundle
如果要执行此操作,则不应使用作曲家来安装此依赖项。
但是 在开始将第三方捆绑包添加到您自己的存储库之前,请提出以下问题:
- 您是否需要修改/扩展捆绑包的默认功能?
- 您需要修复代码中的错误吗?
- 您是否需要重写大块原始代码以适应您的特定用例?
如果您对#1的回答是yes
:您想查看这些资源
- 如何使用捆绑包继承覆盖分发包的各个部分。
- 如何覆盖捆绑包的任何部分。
您最终得到的代码将位于用户捆绑包的顶部,并且可以放入您自己的存储库中。
如果您对#2的回答是yes
:
- 确保它确实是一个错误(阅读文档)。
- 在 github 上创建一个问题。
- 从原始存储库创建分支。
- 修复分叉中的错误。
- 提交拉取请求。
更多信息请参阅为项目做贡献部分,以及Symfony的贡献代码,以获取有关如何为项目做出贡献的一般准则。
如果您对#3的回答是yes
:
创建您自己的用户捆绑包分支并使用它。将分支作为子模块添加到您自己的项目中,或创建一个可以通过作曲家安装的 packagist 包。
未添加捆绑包的原因是因为 .gitignore 文件免除了所有捆绑包所在的"供应商"文件夹。
您可以做的是推送带有捆绑包信息的新"composer.json"文件。
并从服务器中提取新的作曲家并进行"composer.phar 更新"