我在.gitignore
文件中有我的供应商目录。
每次运行composer update
时,git都无法跟踪vendor
目录更新和更改,因此我无法撤销这些更改!
我的问题是:应用程序崩溃或composer update
之后是否可能遇到错误,因此需要git reset
?
如果可能,从.gitignore
删除供应商目录不是更好吗?
也许这个问题有其他解决方案吗? (如果这是一个问题!!)
答案 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空间等。