我应该将Laravel供应商目录添加到.gitignore吗?

时间:2016-08-28 14:00:08

标签: git laravel composer-php gitignore

我在.gitignore文件中有我的供应商目录。  每次运行composer update时,git都无法跟踪vendor目录更新和更改,因此我无法撤销这些更改!

我的问题是:应用程序崩溃或composer update之后是否可能遇到错误,因此需要git reset

如果可能,从.gitignore删除供应商目录不是更好吗? 也许这个问题有其他解决方案吗? (如果这是一个问题!!)

2 个答案:

答案 0 :(得分:6)

Composer为此提供了server { listen 443 ssl; server_name example.com; ... } 文件。

安装新软件包,执行导致软件包更改的composer.lock等会将已安装软件包的确切版本写入composer update。您应该将此文件包含在存储库的版本化文件中。

您可以运行composer.lock自动安装composer install的精确软件包版本列表。由于它将被版本化,您可以随时将其回滚到工作版本并再次运行composer.lock

附注:composer install不应在composer dump-autoload中进行任何破坏性更改。

答案 1 :(得分:5)

vendor目录默认位于.gitignore。这是一个好主意,因为composer将随时在任何机器上安装它将在composer.json中找到的所有软件包。如果您在使用某个软件包的新版本时遇到问题,只需将其更改回composer.json并再次运行composer update

当然,您可以从vendor中删除.gitignore目录,但这会减慢提交速度,并会占用更多磁盘和GitHub / BitBucket空间等。