41

我一直在开发一个被推送到 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. In branch production: (c)git push将代码推送到productionGitHub 上的分支,(d)git push herokuproduction代码推送到my-app-prodHeroku。

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

4

1 回答 1

68

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

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

这会将您的本地分支生产推送到 prod-heroku 中的远程分支 master,因此 my-app-prod 将与生产分支中的代码一起部署。

于 2013-08-16T02:02:38.047 回答