我正在尝试使用本教程https://medium.com/@sagarjauhari/quick-n-clean-way-to-deploy-vue-webpack-apps-on-heroku-b522d3904bc8,因此我只将dist文件夹推送到heroku。我使用以下代码:
"deploy": "git subtree push --prefix dist heroku master"
因此,当我对我在本地所做的更改感到满意时,我会执行以下操作。
npm run build
git add -A
git commit -m "message"
git push
npm run deploy
然后我收到一条错误消息:
! [已拒绝] a1869b5091eac1a50721d4c0cb8385f48338d8d9 - >主人(非快进) 错误:无法将某些引用推送到“https://git.heroku.com/foobar” 提示:更新被拒绝,因为您当前分支的提示落后 提示:它的远程对应物。整合远程更改(例如 提示:'git pull ...')然后再推。 提示:有关详细信息,请参阅“git push --help”中的“关于快进的说明”。
我做错了什么?如果我此时运行git push heroku
,它运行正常。
答案 0 :(得分:0)
对于快速(并且可能具有破坏性)的修复,您可以强制子树推送。请注意,这将销毁您在本地没有的Heroku上的任何数据,并且 canot撤消此更改。
为此,请运行以下命令:
git push heroku `git subtree split --prefix dist master`:master --force
再次运行npm run deploy
。
如果有帮助,请告诉我。
引用:
How do I force a subtree push to overwrite remote changes?和http://clontz.org/blog/2014/05/08/git-subtree-push-for-deployment/