如何将不同的分支推送到不同的heroku应用程序?

时间:2013-08-16 01:51:36

标签: git heroku git-branch staging dev-to-production

我一直致力于推广到heroku的网络应用。源代码托管在GitHub上。

所以git push将主分支推送到GutHub。

我的git分支'master'已连接到Heroku app'my-app-staging'

因此git push heroku将应用推送到my-app-staging.herokuapp.com

我已经创建了一个新的Heroku应用程序,它将是“生产”应用程序,我们称之为“my-app-prod”。

我创建了一个名为“production”的分支(即git checkout -b production),我运行git push -u origin production使其成为GitHub的托管分支。

我现在想要将production分支链接到my-app-prod.herokuapp.com,这样当切换到production分支时,我只需输入git push heroku(或者git push prod-heroku production或类似的)瞧 - 生产分支被推送到生产应用程序。

在Heroku上将production分支链接到my-app-prod的推荐方法是什么?

我已经沉迷于Heroku's own docs on this,但他们都假设我使用heroku create CLI设置我的应用程序,而不是通过Heroku的网站设置我的应用程序,但以下段落只是让我头脑发热旋:

  

在何时输入git push staging mastergit push production master很简单   你已经按照上面的步骤。许多开发人员喜欢利用git   但是,分支可以分离正在进行的和生产就绪的代码。在这种情况下   对于安装,您可以从主分支部署到生产,合并更改   来自开发分支,一旦他们在登台应用程序上进行了审核。有了这个   设置,推动更棘手:

我想要结束的地方如下:

  1. 在分支master中:(a)git push将代码推送到GitHub,(b)git push heroku将代码推送到Heroku上的my-app-staging
  2. 在分支production中:(c)git push将代码推送到GitHub上的production分支,(d)git push herokuproduction代码推送到Heroku上的my-app-prod
  3. 鉴于上述步骤1已经到位且步骤2(c)已到位,我如何实现步骤2(d)?

1 个答案:

答案 0 :(得分:62)

您应该为名为prod-heroku的my-app-prod添加另一个遥控器(将GIT_URL替换为您可以在heroku的my-app-prod的设置页面中找到的Git URL):

git remote add prod-heroku GIT_URL
git push prod-heroku production:master

这会将您的本地分支生产推送到prod-heroku中的远程分支主服务器,因此my-app-prod将使用生产分支中的代码进行部署。