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

时间:2016-12-05 23:06:16

标签: php git composer-php gitignore

我是否可以设置.gitignore以允许Composer依赖项(供应商目录)存在于我的存储库中?

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

  1. 更新代码时,大型VCS存储库大小和差异。
  2. 在您自己的VCS中复制所有依赖项的历史记录。
  3. 将通过git安装的依赖项添加到git repo中会将它们显示为子模块。这是有问题的,因为它们不是真正的子模块,你会遇到问题。
  4. 这三个原因对我来说无关紧要。也有可能聪明的.gitignore可以消除三个原因。

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

    我应该在.gitignore到底做些什么呢?

3 个答案:

答案 0 :(得分:1)

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

准备好在存储库中添加100多个供应商库文件。

答案 1 :(得分:1)

在我看来,以下方法有效:

  1. 从.gitignore移除供应商
  2. 清除git的缓存:git rm -r --cached .
  3. 添加文件:git add .
  4. 提交文件:git commit
  5. 将文件推送到主存储库。

答案 2 :(得分:0)

执行以下操作以提交供应商目录:

git add vendor 
git commit -m "Added vendor directory to source control"