如何将 Composer 供应商文件夹提交到 Git 存储库?

Wil*_*ken 5 php git gitignore composer-php

我可以.gitignore以这种方式进行设置以允许 Composer 依赖项(供应商目录)存在于我的存储库中吗?

作曲家正式建议您“不应该”这样做。它提供了三个原因(https://getcomposer.org/doc/faqs/should-i-commit-the-dependency-in-my-vendor-directory.md):

  1. 更新代码时,VCS 存储库大小和差异较大。
  2. 复制您自己的 VCS 中所有依赖项的历史记录。
  3. 将通过 git 安装的依赖项添加到 git 存储库会将它们显示为子模块。这是有问题的,因为它们不是真正的子模块,您会遇到问题。

这三个原因对我来说都不重要。另外,第三个原因也可能被聪明的方法所消除.gitignore

如果我有必要说明这个问题的动机,那么我的动机是:CocoaPods 就是这样做的,而且我喜欢 CocoaPods 的工作方式。

为了实现这个目标我到底应该做什么.gitignore

小智 7

只需从 .gitignore 文件中删除对 /vendor 的任何引用即可。然后添加并提交供应商文件。

只需准备将 100 多兆的供应商库文件添加到您的存储库即可。

  • 磁盘空间很便宜。修复损坏的依赖关系成本较低。 (4认同)