如何更新使用 GitHub“部署到 Heroku”按钮创建的 Heroku 应用程序?

Posted

技术标签:

【中文标题】如何更新使用 GitHub“部署到 Heroku”按钮创建的 Heroku 应用程序?【英文标题】:How to update an Heroku App created using GitHub "Deploy to Heroku" button? 【发布时间】:2015-04-28 12:58:23 【问题描述】:

我使用 GitHub 的“部署到 Heroku”按钮创建了一个应用程序。由于 git 项目已更改,如何使用新的上游提交更新我现有的实例?

【问题讨论】:

【参考方案1】:

Heroku 的 Web 控制台也可以轻松做到这一点。将您的应用程序连接到 GitHub 存储库以从选定的 git 分支自动或手动部署。自动部署也可以等到 CI 通过。使用以下步骤配置您的项目。

设置

    转到应用配置页面中的以下部分Deploy 对于Deployment method,请单击GitHub 对于 App connected to GitHub,选择并连接您的存储库

自动部署

    在您的应用配置页面中转到以下部分Deploy > Automatic deploys 验证/选择您想要的分支 可选择单击Wait for CI to pass before deploy 点击Enable Automatic Deploys

手动部署

    在您的应用配置页面中转到以下部分Deploy > Manual deploys 验证/选择您想要的分支 点击Deploy Branch

截图

这是显示 UI 的屏幕截图:

注意:正如Tim Malone 所述,这仅适用于您自己的存储库,但这可以通过创建Skyost 所述的分叉来解决。

【讨论】:

唯一的问题是如果你部署了别人的应用程序——这通常是部署到 Heroku 按钮的用途。 @TimMalone 您只需创建要部署的存储库的分支。【参考方案2】:

我去抓取原始存储库,然后将其强制推送到我在 Heroku 中的应用程序上。看起来像这样:

git clone https://github.com/USER/REPO.git
git checkout v0.7.3
git remote add heroku https://git.heroku.com/APP-NAME.git
git push -f heroku master

Heroku 可以轻松地为您的应用克隆存储库

heroku git:clone -a app-name

我最初尝试这样做,然后将原始存储库添加为远程并合并更改,但遇到了一些我不想弄清楚的麻烦。

【讨论】:

【参考方案3】:

如果您已经克隆了应用程序,或者您想先从 Heroku 克隆,这里有一种方法。

# Clone app if you haven't already
heroku git:clone -a appname
# Get latest app
git remote add REPO https://github.com/USER/REPO.git
git branch -b REPO REPO/master
# Delete master
git branch -D master
# Remake it with latest
git checkout -b master
# And force push it to heroku
git push -f heroku master

【讨论】:

【参考方案4】:

假设您的本地分支称为master,您可以尝试:

git pull heroku master

请记住,如果您的本地分支和远程分支出现分歧,您可能会遇到合并冲突。这还假设您已将 heroku 配置为指向 repo 中的适当位置。

【讨论】:

以上是关于如何更新使用 GitHub“部署到 Heroku”按钮创建的 Heroku 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

将应用程序部署到 Heroku 后无法推送到 Github

如何将闪亮的应用程序部署到 Heroku

如何直接从我的 Gitlab 存储库部署到 Heroku

如何将 vuejs 项目部署到 heroku

在 bitbucket 上使用 git 部署到 Heroku

已部署到Heroku的Rails应用程序无法更新