不幸的是,由于网页空间内存不足,我无法使用编辑器。这就是为什么我试图将vendor/*
推送到git存储库,以便能够提取整个项目,包括依赖项。
在我的.gitignore
我强迫git按!/vendor/*
取消供应商档案。
适用于大多数文件,但不适用于/vendor/friendsofsymfony/jsrouting-bundle
。
/vendor/friendsofsymfony/jsrouting-bundle/.gitignore
的内容:
/phpunit.xml
/composer.lock
/composer.phar
/vendor/
/node_modules/
我的存储库托管在BitBucket上。我还不知道不同文件夹图标的含义以及旁边的哈希值。如果有人知道,请发表评论。
有谁知道如何强制git处理所有供应商文件?
提前致谢!
解决方案
由于jsrouting-bundle
是git submodule
,我选择了此解决方案:
git submodule add git://github.com/FriendsOfSymfony/FOSJsRoutingBundle.git vendor/friendsofsymfony/jsrouting-bundle
另一种方法是使用deps文件(未测试),source: https://github.com/XKEYGmbH/ifresco-client/tree/master/vendor/friendsofsymfony/jsrouting-bundle/FOS/JsRoutingBundle/Resources/doc
答案 0 :(得分:2)
jsrouting-bundle
文件夹是Git submodule。 Git子模块实际上是对另一个Git存储库的引用。这就是您无法将更改添加到原始Git存储库的原因。
答案 1 :(得分:1)
过去我必须这样做,这就是我所做的:
php composer.phar selfupdate
php composer.phar update
vendor
目录中运行sudo find . -type d -name .git | xargs rm -rf
git add -A .
这样,您的供应商将像src
目录一样提交,因此在生产环境中部署时无需运行composer install
。想要更新时只需重复该过程。但当然这不是一个好习惯,只有在生产服务器上无法运行composer
时才应该这样做。