将 FOSUserBundle 添加到项目 git 存储库


Add FOSUserBundle to project git repository

我使用 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. 您是否需要修改/扩展捆绑包的默认功能?
  2. 您需要修复代码中的错误吗?
  3. 您是否需要重写大块原始代码以适应您的特定用例?

如果您对#1的回答是yes:您想查看这些资源

  • 如何使用捆绑包继承覆盖分发包的各个部分。
  • 如何覆盖捆绑包的任何部分。

您最终得到的代码将位于用户捆绑包的顶部,并且可以放入您自己的存储库中。

如果您对#2的回答是yes

  • 确保它确实是一个错误(阅读文档)。
  • 在 github 上创建一个问题。
  • 从原始存储库创建分支。
  • 修复分叉中的错误。
  • 提交拉取请求。

更多信息请参阅为项目做贡献部分,以及Symfony的贡献代码,以获取有关如何为项目做出贡献的一般准则。

如果您对#3的回答是yes

创建您自己的用户捆绑包分支并使用它。将分支作为子模块添加到您自己的项目中,或创建一个可以通过作曲家安装的 packagist 包。

未添加捆绑包的原因是因为 .gitignore 文件免除了所有捆绑包所在的"供应商"文件夹。

您可以做的是推送带有捆绑包信息的新"composer.json"文件。

并从服务器中提取新的作曲家并进行"composer.phar 更新"