让Heroku运行非主Git分支

Ale*_*eue 173 git heroku

我有一个在Heroku上托管的项目,它已经到了我想要制作备用测试服务器的地步(所以我可以测试Heroku工作人员而不会搞乱生产).

我已经设置了我的主Heroku远程运行我的主干和一个Heroku-dev遥控器,我想在那里运行一个备用分支.

我的问题是,由于我的备用分支不是主分支,Heroku不会构建它.

$ git push heroku-dev test
counting objects ...
...
Pushed to non-master branch, skipping build.
To git@heroku.com:example-dev.git
* [new branch]      test -> test
Run Code Online (Sandbox Code Playgroud)

目前无法将此版本切换为master.显然,一个选择是创建一个全新的git repo,它是我的测试分支的克隆,但这听起来并不理想.

jor*_*ver 333

你可以使用Git将另一个分支推送到Heroku.

git push heroku-dev test:master
Run Code Online (Sandbox Code Playgroud)

这会将您的本地测试分支推送到远程的主分支(在Heroku上).

  • 值得注意的是,当你准备好回到掌握时,你需要做`git push -f heroku master:master` (45认同)
  • 确实 - 它也有记录:https://devcenter.heroku.com/articles/multiple-environments#advanced-linking-local-branches-to-remote-apps (12认同)
  • 有没有办法在Heroku上使用非主分支进行部署,以便将Heroku`master`保持原状以便以后升级? (5认同)
  • @SDP我过去为Heroku调试所做的事情是提交一些内容,将它推送到Heroku,然后(如果那不起作用)尝试别的东西,提交它(使用`git commit --amend`),推送到Heroku(使用`-f`标志)并重复直到固定.一旦它被修复,确保最后的`--amend`是一个很好的干净提交,带有明智的信息,然后继续下一件事.这样你就可以在没有多次提交的情况下全天测试.它不漂亮,但它完成了工作:) (5认同)
  • 不,Heroku总是使用`master`.你的用例是什么? (3认同)
  • 我有一个类似的用例:我正在探索git分支上的一个新功能,我不想合并到master中,以防这个想法失败.理想情况下,我可以将这个探索分支推送到我的heroku登台应用程序,调试它并废弃分支或在完成探索时将其合并回主人.我想,这不是一种罕见的需求. (2认同)

小智 8

在我的情况下,默认或基本分支是develop,所以我使用:

          git push heroku develop:master 
Run Code Online (Sandbox Code Playgroud)