【问题标题】:Laravel github branches vendor file in gitignoreLaravel github 在 gitignore 中分支供应商文件
【发布时间】:2020-10-16 14:10:53
【问题描述】:

我做了一个新的分支,因为我需要更新某个依赖并调整代码以便新版本工作。

我推完树枝后。我切换到 master 并注意到包也更新了。我不得不恢复更新。

我注意到这是因为/vendor/ 文件包含在.gitignore 中。经过一番阅读,我明白了为什么。如果我想将项目拉到其他地方,我应该使用 composer install 来安装依赖项。

但我在想,这真的值得吗?我只是可以上传整个供应商文件夹,当我把它拉到某个地方时它就可以工作了。 唯一的缺点是供应商文件夹可能很大,对吗?

我没有看到如何更新和测试对不同分支的依赖项的其他选项。


.gitignore中删除vendor文件夹是否保存?

尺寸是它存在的唯一原因吗?


如果我将 vendor 文件夹保存在 .gitignore 中,似乎到处都建议这样做,我如何在不破坏 master 的情况下仅更新对分支的依赖?

我可以每次都重新创建整个供应商文件夹,但这太疯狂了,听起来真的很不对。

【问题讨论】:

  • 您不需要将供应商文件夹添加到您的 git,因为供应商依赖项将由 composer install 本身添加。将供应商文件夹添加到.gitignore 文件中,然后仅通过git add .gitignore 添加.gitignore 然后提交。现在供应商将在您的 git git status 中被忽略
  • Qucik 搜索作曲家给出了这个:getcomposer.org/doc/faqs/…
  • 好的,但是我应该如何使用 github 分支来更新依赖呢?
  • 每次交换分支时都需要运行 composer install
  • @Ebski 我刚有这个想法,感觉有点不对劲,真的是这样吗?

标签: php laravel git


【解决方案1】:

建议将 vendor 文件夹不在 repo 中。 composer.json 文件应该推送到 git repo。您只需运行 composer install 每次更改 composer.json 中的任何内容时,它将与 composer.json 同步供应商文件夹,第一次 composer install 将创建 composer.lock 文件以锁定包的版本,

To see more

【讨论】:

    【解决方案2】:

    每次交换分支时我都可以运行composer install。 但是我对您的情况有一个想法,您可以将vendor 保留在您的主 .gitignore 文件中,然后转到供应商文件夹并在该文件夹中初始化一个 git 存储库,从现在开始,您可以在该子 git 存储库中的分支之间切换。 注意:请注意,当您想要测试依赖项时,您还应该更改主存储库中的分支。 (最好保持主库分支和子库分支的名称相同。)

    【讨论】:

    • 有趣的想法。谢谢你。
    猜你喜欢
    • 2016-04-09
    • 2010-11-26
    • 2010-10-20
    • 2012-01-03
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    相关资源
    最近更新 更多