【问题标题】:Add FOSUserBundle to project git repository将 FOSUserBundle 添加到项目 git 存储库
【发布时间】:2014-01-07 06:01:42
【问题描述】:

我在 Symfony2 中使用 composer 安装 FOSUserBundle,我无法将 bundle 添加到我的项目 git 存储库中。

我发现在 FOSUserBundle 中有一个 .git 目录并且有自己的配置。

当我使用 git add -A 时,总是得到“提交或丢弃子模块中未跟踪或修改的内容”。

您能帮忙说明如何将此捆绑包添加到我的存储库吗?

提前致谢。

【问题讨论】:

    标签: php git symfony fosuserbundle


    【解决方案1】:

    你可以这样做:

    $ git add vendor/path/to/Bundle/*
    

    您还可以在 src/FOS/UserBundle/ 目录中创建用户包的 git 子模块。

    git submodule add <git@github ...> src/FOS/UserBundle
    

    如果你打算这样做,你不应该使用 composer 来安装这个依赖项。

    但是在您开始将第三方捆绑包添加到您自己的存储库之前,请询问以下问题

    1. 您需要修改/扩展 Bundle 的默认功能吗?
    2. 您需要修复代码中的错误吗?
    3. 您是否需要重新编写大量原始代码以适应您的特定用例?

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

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

    如果您对#2 的回答是yes

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

    Contributing to a project 部分和Contribute Code for Symfony 中查看更多信息,了解如何为项目做出贡献的一般指南。

    如果您对#3 的回答是yes

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

    【讨论】:

      【解决方案2】:

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

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

      然后从服务器拉取新作曲家并执行“composer.phar update”

      【讨论】:

      • 如果您只想安装供应商,还可以添加 composer.lock 并运行 composer install,因为 composer update 会将供应商更新到最新版本,还会更新 composer.lock 文件,这通常不是什么你想要的。
      • 感谢您提供更多信息 =)
      猜你喜欢
      • 2014-12-24
      • 2012-11-27
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2016-07-25
      • 1970-01-01
      相关资源
      最近更新 更多