我是否应该将 Laravel vendor 目录添加到 .gitignore 中?
Should I add Laravel vendor directory to .gitignore or not?
我在 .gitignore
文件中有我的供应商目录。
每次我 运行 composer update
, git 都无法跟踪 vendor
目录更新和更改,因此我无法向后更新这些更改!
我的问题是: 是否有可能在 composer update
之后应用程序崩溃或遇到错误,所以需要 git reset
?
如果可能的话,从 .gitignore
中删除 vendor 目录不是更好吗?
也许这个问题还有其他解决方案? (如果这是一个问题!!)
vendor
目录默认在 .gitignore
中。这是个好主意,因为 composer
会随时在任何机器上为您安装在 composer.json
中找到的所有软件包。如果您在使用某些软件包的新版本时遇到问题,只需在 composer.json
和 运行 composer update
中再次将其改回。
当然你可以从 .gitignore
中删除 vendor
目录,但这会减慢提交速度并且会使用更多的磁盘和 GitHub/BitBucket space 等
Composer 为此提供了 composer.lock
文件。
安装新包、执行 composer update
等导致包更改的操作会将已安装包的确切版本写入 composer.lock
。您应该将此文件包含在存储库的版本控制文件中。
您可以 运行 composer install
自动安装来自 composer.lock
的包版本的确切列表。因为它要进行版本控制,所以您可以随时将其回滚到工作版本并再次 运行 composer install
。
旁注:composer dump-autoload
不应在 vendor
中进行任何破坏性更改。
我在 .gitignore
文件中有我的供应商目录。
每次我 运行 composer update
, git 都无法跟踪 vendor
目录更新和更改,因此我无法向后更新这些更改!
我的问题是: 是否有可能在 composer update
之后应用程序崩溃或遇到错误,所以需要 git reset
?
如果可能的话,从 .gitignore
中删除 vendor 目录不是更好吗?
也许这个问题还有其他解决方案? (如果这是一个问题!!)
vendor
目录默认在 .gitignore
中。这是个好主意,因为 composer
会随时在任何机器上为您安装在 composer.json
中找到的所有软件包。如果您在使用某些软件包的新版本时遇到问题,只需在 composer.json
和 运行 composer update
中再次将其改回。
当然你可以从 .gitignore
中删除 vendor
目录,但这会减慢提交速度并且会使用更多的磁盘和 GitHub/BitBucket space 等
Composer 为此提供了 composer.lock
文件。
安装新包、执行 composer update
等导致包更改的操作会将已安装包的确切版本写入 composer.lock
。您应该将此文件包含在存储库的版本控制文件中。
您可以 运行 composer install
自动安装来自 composer.lock
的包版本的确切列表。因为它要进行版本控制,所以您可以随时将其回滚到工作版本并再次 运行 composer install
。
旁注:composer dump-autoload
不应在 vendor
中进行任何破坏性更改。