【问题标题】:Make Heroku run non-master Git branch让 Heroku 运行非主 Git 分支
【发布时间】:2013-01-13 15:37:32
【问题描述】:

我在 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,它是我的测试分支的克隆,但这听起来不太理想。

【问题讨论】:

    标签: git heroku


    【解决方案1】:

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

    git push heroku-dev test:master
    

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


    来自@Brian Armstrong 的评论:

    还值得注意的是,当你准备好回到大师赛时,你需要做的事情

    git push -f heroku master:master 
    

    【讨论】:

    • 确实 - 它也被记录在案:devcenter.heroku.com/articles/…
    • 另外值得注意的是,当你准备好回归大师时,你需要做git push -f heroku master:master
    • 有没有办法在 Heroku 上使用非 master 分支进行部署,从而保持 Heroku master 的原始状态以供以后推广?
    • 不,Heroku 总是使用master。你的用例是什么?
    • @SDP 我过去为 Heroku 调试所做的事情是提交一些东西,将其推送到 Heroku,然后(如果这不起作用)尝试其他东西,提交它(使用 git commit --amend ),将其推送到 Heroku(使用 -f 标志)并重复直到修复。一旦它被修复,确保最终的--amend 是一个带有合理信息的干净提交,然后继续下一步。这样你就可以整天测试事情而无需多次提交。它不漂亮,但它完成了工作:)
    【解决方案2】:

    在我的例子中,默认或基础分支是 develop,所以我使用了:

              git push heroku develop:master 
    

    【讨论】:

      【解决方案3】:

      如果 git push heroku-dev test:master 对您不起作用,请尝试 git push heroku test:master。 记住“test:master”中的“test”是你所在的新分支的名称。

      【讨论】:

        【解决方案4】:

        您需要先拉取远程分支,然后才能推送非主分支。

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

        git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-02
          • 1970-01-01
          • 1970-01-01
          • 2018-11-03
          相关资源
          最近更新 更多