Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 同时使用SVN和composer-供应商目录的版本控制_Php_Svn_Composer Php - Fatal编程技术网

Php 同时使用SVN和composer-供应商目录的版本控制

Php 同时使用SVN和composer-供应商目录的版本控制,php,svn,composer-php,Php,Svn,Composer Php,以下是我如何将composer和svn结合使用: 在我的开发版本中,我运行composer将所需的软件包下载到vendor目录。然后,我将vendor目录与开发文件夹的其余部分一起提交给svn。生产生成生成了供应商文件夹的副本 我知道,建议不要提交svn中的供应商目录(请参阅),但我希望在编写器更新可能会破坏我的应用程序的情况下保持安全。它允许我将这种情况下的所有内容回滚到最后一个稳定状态 composer如何工作的问题是,如果composer删除整个目录,签出的svn repo将中断 如果我知

以下是我如何将composer和svn结合使用:

在我的开发版本中,我运行composer将所需的软件包下载到
vendor
目录。然后,我将
vendor
目录与开发文件夹的其余部分一起提交给svn。生产生成生成了
供应商
文件夹的副本

我知道,建议不要提交svn中的
供应商
目录(请参阅),但我希望在
编写器更新
可能会破坏我的应用程序的情况下保持安全。它允许我将这种情况下的所有内容回滚到最后一个稳定状态

composer如何工作的问题是,如果composer删除整个目录,签出的svn repo将中断


如果我知道如何回滚最终中断的
composer更新
,我会切换到推荐的做法,只将
composer.lock
composer.json
签入svn。有人能给我解释一下吗。

当您拥有
composer.lock
并运行
composer install
(非更新)时,您肯定会得到您“锁定”的依赖项


运行
composer update
会忽略
composer.lock
中的条目,并尝试下载
composer.json
允许的最新依赖项。这意味着如果
composer更新
破坏了某些内容,我可以删除
供应商
文件夹,还原
composer.lock
并运行
composer安装
?我可以始终依靠PackageGist这样做的保证是什么?您不应该在生产环境中运行
composer update
,而应该只运行
composer install
。您可以在验证无任何损坏后在本地运行更新,只需提交
composer.lock
。是的,我只在开发环境中运行
composer update
。我现在刚刚尝试过。我刚刚用composer.lock重新创建了我的供应商目录。