更新使用 composer create-project 创建的项目

Update project created with composer create-project

有些框架如laravel推荐使用create-project安装。 通过 composer 更新这样的项目将是 hard,因为

The composer create-project creates the skeleton with all initial routes in your configuration etc.

From the very very first moment you are starting to change the default routes, removing the default controllers and changing the default views, your project would be out of sync. because meanwhile laravel changes the skeleton to newer versions with some new default routes etc or event changes directory structure.

不过,我最近发现 phpmyadmin recommends composer create-project 是一种可能的安装方法。

由于 phpmyadmin 不只是提供一些供用户修改的框架文件,而是一个完整的、完成的网络应用程序,我想知道什么是更新创建的 phpmyadmin 安装的最佳方法像这样?

不知道官方有没有这种方法

根据文档,create-project 相当于:

doing a git clone/svn checkout followed by a composer install of the vendors.

如果您还没有修改任何文件,我认为最简单的方法就是删除该目录,然后再次 运行 composer create-project

如果您修改了一些文件,您可以进行 git 合并(如果项目使用 git)并再次 运行 composer update

如果你还没有创建项目,你可以 运行 create-project 加上 --keep-vcs 标志,然后每次你想更新它时,你可以 cd 到项目和 运行:

git pull origin <version>
composer update

如果您已经在没有 --keep-vcs 的情况下安装了项目,那么您必须将该目录设为 git 存储库,然后将项目的存储库添加为远程。要查找项目的存储库,请在 Packagist 上搜索它。例如,对于 phpmyadmin:

cd phpmyadmin
git init
git add .
git commit -m "Add initial files"
git remote add git@github.com:phpmyadmin/composer.git
git pull origin <version> --allow-unrelated-histories -Xtheirs 
composer update

您的某些更改可能会因上述 git pull 而丢失,因此请进行备份(并可能研究其他方法来合并不相关的历史记录)。