问题描述
git subtree push --prefix dist-new heroku master
不幸的是,我收到此错误:
error: Failed to push some refs to 'https://git.heroku.com/it
ribe-frontend.git'
hint: Updates were rejected because a pushed branch tip is be
hind its remote
hint: counterpart. Check out this branch and integrate the re
mote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help'
我无法强制部署,因为git子树没有强制选项。
谷歌搜索,我已经看到建议这样做:
git push heroku git subtree split --prefix dist master:master --force
但这会引发此错误:
error: unkNown option `prefix'
有人有什么想法吗?
解决方法
问题
您可能未使用最新版本的git
解决方案
prefix选项在最新版本的git中仍然可用(请参见此处:https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh)
git subtree split -- prefix
此外,您还需要将命令作为子外壳执行,而不仅仅是这样做:
git push heroku git subtree split --prefix dist master:master --force
您必须这样做:
git push heroku $(git subtree split --prefix dist master:master) --force
参考
Git子树源代码:https://github.com/git/git/blob/master/contrib/subtree/git-subtree.sh
,这有效:
https://coderwall.com/p/okrlzg/take-control-of-your-heroku-git-repository
$ heroku plugins:install https://github.com/lstoll/heroku-repo.git
$ heroku repo:reset -a appname