当我运行git subree push --prefix dist heroku master告诉我运行git pull时,我收到一个错误

时间:2017-08-06 04:05:49

标签: node.js git heroku vue.js package.json

我正在尝试使用本教程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,它运行正常。

1 个答案:

答案 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/