使Heroku运行非主Git分支


182

我在Heroku上托管了一个项目,现在已经到了我想要制作备用测试服务器的地步(这样我就可以在不影响生产的情况下测试Heroku工作人员)。

我已经设置了运行主干的主要Heroku远程控制器和希望运行备用分支的Heroku-dev远程控制器。

我的问题是,由于我的替代分支不是master分支,因此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

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

Answers:


361

您可以使用Git将替代分支推送到Heroku。

git push heroku-dev test:master

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


12

50
还值得一提的是,当您准备好重返硕士学位时,您需要做git push -f heroku master:master
Brian Armstrong

5
有没有一种方法可以在Heroku上使用非主分支进行部署,以保持Heroku的master原始状态以便以后升级?
埃里克·沃克

3
不,Heroku始终使用master。您的用例是什么?
jordelver

5
@SDP我过去在Heroku调试中所做的事情是提交一些东西,将其推送到Heroku,然后(如果没有用)尝试其他事情,将其提交(使用git commit --amend),然后将其推送到Heroku(使用-f标记)并重复直到固定。一旦修复,请确保最终结果--amend是一个明智的干净提交,并带有有意义的消息,然后继续下一步。这样一来,您可以整天测试事物,而无需多次提交。它不是很漂亮,但是可以完成工作:)
Simon

2

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

          git push heroku develop:master 

0

万一git push heroku-dev test:master不适用于您,请尝试git push heroku test:master。请记住,“ test:master”中的“ test”是您所在的新分支的名称。


-1

您必须先拉远程分支,然后才能推非主分支。

在本地存储库中运行以下命令

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.