单击部署时,我不断收到以下错误消息:
From github.com:my account
* branch master -> FETCH_HEAD
40fdcc7..8a338fb master -> origin/master
error: Your local changes to the following files would be overwritten by merge:
composer.lock
Please, commit your changes or stash them before you can merge.
Aborting
我尝试删除composer.lock,gitignore和composer.lock文件,以及在服务器上执行git check,git stash,composer update和composer install,但这些命令或删除都不起作用。
我在这里缺少什么?
答案 0 :(得分:1)
运行composer install时,会生成composer.lock并列出您安装的确切软件包。你应该提交这个文件。
然后在制作时,您应该运行composer install
而不是composer update
。更新会重新生成composer.lock文件并导致此问题,而composer install
只会安装您在开发站点上安装的确切软件包和版本。
答案 1 :(得分:1)
将employbl.com部署到Laravel Forge时,此错误对我有效:
cd /home/forge/employbl.com
git fetch origin master
git reset --hard FETCH_HEAD
git clean -df
composer install --no-ansi --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader
echo "" | sudo -S service php7.2-fpm reload
rm -rf node_modules
我认为OP产生的问题来自无法解决的合并冲突。这些最初的git命令可以有效擦除伪造服务器上的内容,并将您想要的代码部署到Internet!
答案 2 :(得分:0)
你能做的是
zip(…)
然后:
git fetch origin
git reset --hard origin/master