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

Dav*_*Sag 35 git heroku staging dev-to-production git-branch

我一直在研究一个被推送到heroku的网络应用程序.源代码托管在GitHub上.

因此git push将主分支推送到GutHub.

我的git分支'master'连接到Heroku应用程序' 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或类似)并且瞧 - 生产分支被推送到生产应用程序.

将我的production分支链接到my-app-prodHeroku 的推荐方法是什么?

我已经沉迷于Heroku自己的文档,但他们都假设我已经使用heroku createCLI设置我的应用程序,而不是通过Heroku的网站设置我的应用程序,但是下面的段落让我头晕目眩:

输入很简单git push staging master,git push production master当你按照上面的步骤操作时.然而,许多开发人员喜欢利用git的分支来分离正在进行的和生产就绪的代码.在这种设置中,您可以从主分支部署到生产,一旦在暂存应用程序上审阅后,就可以合并来自开发分支的更改.有了这个设置,推动是一个更小的棘手:

我最终想要的地方如下:

  1. 在分支中master:(a)git push将代码推送到GitHub,以及(b)git push heroku将代码推送到my-app-stagingHeroku上
  2. 在分支中production:(c)git push将代码推送到productionGitHub上的分支,并且(d)git push herokuproduction代码推送到my-app-prodHeroku上.

鉴于上述步骤1已经到位且步骤2(c)已到位,我如何实现步骤2(d)?

akh*_*bis 63

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

git remote add prod-heroku GIT_URL
git push prod-heroku production:master
Run Code Online (Sandbox Code Playgroud)

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