Php 编写器更新撤消已删除的供应商

Php 编写器更新撤消已删除的供应商,php,git,symfony,composer-php,Php,Git,Symfony,Composer Php,composer在删除或更新供应商回购文件夹之前是否备份了该文件夹?什么时候可以找到备份文件夹 我对主捆绑包进行了composer更新,因为我的供应商捆绑包不在composer.json中,所以它删除了打开未推送分支的供应商捆绑包。所以我希望我可以从composer在删除文件夹之前创建的备份中获得更改?不,composer不会这样做。您的更改现在丢失 为了避免将来出现此类问题,我建议将供应商目录设置为Composer专用的目录。尽量不要编辑供应商目录。编辑供应商后,有两个选项: 将它们移到sr

composer在删除或更新供应商回购文件夹之前是否备份了该文件夹?什么时候可以找到备份文件夹


我对主捆绑包进行了composer更新,因为我的供应商捆绑包不在composer.json中,所以它删除了打开未推送分支的供应商捆绑包。所以我希望我可以从composer在删除文件夹之前创建的备份中获得更改?

不,composer不会这样做。您的更改现在丢失

为了避免将来出现此类问题,我建议将供应商目录设置为Composer专用的目录。尽量不要编辑供应商目录。编辑供应商后,有两个选项:

  • 将它们移到src
  • 在本地克隆原始repo,对其进行操作,并要求在
    composer.json中使用本地存储库

因此,当您运行
composer update
时,您忽略了有关
vendor
文件夹中的更改文件被覆盖的警告,并且您直接在
vendor
文件夹中处理代码?很抱歉,由于这些保护措施,composer不会备份供应商文件夹。当您提交更改但不推送更改时,composer不会在您更改回composer分支时向您发出警告。通常情况下,只有当从composer.json中删除供应商时,才推送它不是问题。当没有备份时,它需要再次备份,而且备份效果更好。谢谢你的回答。我明白你的意思了-分支在
.git
中被跟踪,但当前没有加载?无论哪种情况,都有两个错误导致代码丢失。。1) 直接在
供应商
文件夹中工作2)不立即推送代码-我总是在任何
git提交后
git推送
。当然,我现在对此无能为力,但我要指出的是,这是今后防止这种情况发生的步骤。我认为,最佳做法是:如果您修改了一个供应商(并打算以后推动它),请将其从供应商转移到您的src中。然后您可以安全地将其从json中删除,并执行其他操作。